66 changed files with 1943 additions and 530 deletions
-
5cereshop-admin/src/main/java/com/shop/cereshop/admin/page/product/Sku.java
-
28cereshop-admin/src/main/resources/mybatis/mapper/product/CereProductSkuDAO.xml
-
6cereshop-admin/src/main/resources/mybatis/mapper/product/CereShopProductDAO.xml
-
92cereshop-app/src/main/java/com/shop/cereshop/app/controller/extend/XsPayController.java
-
2cereshop-app/src/main/java/com/shop/cereshop/app/dao/buyer/CereBuyerShopCouponDAO.java
-
2cereshop-app/src/main/java/com/shop/cereshop/app/dao/logistics/CereOrderLogisticsDAO.java
-
2cereshop-app/src/main/java/com/shop/cereshop/app/dao/order/CereShopOrderDAO.java
-
2cereshop-app/src/main/java/com/shop/cereshop/app/dao/product/CereProductSkuDAO.java
-
15cereshop-app/src/main/java/com/shop/cereshop/app/dao/shop/CereShopCrossDetailDAO.java
-
15cereshop-app/src/main/java/com/shop/cereshop/app/dao/storehouse/CereShopStorehouseDAO.java
-
21cereshop-app/src/main/java/com/shop/cereshop/app/domain/stock/CrossStockResponeBo.java
-
21cereshop-app/src/main/java/com/shop/cereshop/app/domain/stock/IbOrderItemRequestBo.java
-
34cereshop-app/src/main/java/com/shop/cereshop/app/domain/stock/KjtStockNumberResponeBo.java
-
73cereshop-app/src/main/java/com/shop/cereshop/app/domain/stock/NewIbOrderRequestBo.java
-
16cereshop-app/src/main/java/com/shop/cereshop/app/page/cart/CartSku.java
-
22cereshop-app/src/main/java/com/shop/cereshop/app/page/product/ProductDetail.java
-
6cereshop-app/src/main/java/com/shop/cereshop/app/page/product/ProductSkus.java
-
23cereshop-app/src/main/java/com/shop/cereshop/app/page/settlement/SettlementShop.java
-
17cereshop-app/src/main/java/com/shop/cereshop/app/param/order/OrderProductParam.java
-
312cereshop-app/src/main/java/com/shop/cereshop/app/pay/xs/service/impl/XsPayServiceImpl.java
-
2cereshop-app/src/main/java/com/shop/cereshop/app/service/buyer/CereBuyerShopCouponService.java
-
4cereshop-app/src/main/java/com/shop/cereshop/app/service/buyer/impl/CereBuyerShopCouponServiceImpl.java
-
4cereshop-app/src/main/java/com/shop/cereshop/app/service/extend/impl/HuaxunServiceImpl.java
-
2cereshop-app/src/main/java/com/shop/cereshop/app/service/logistics/CereOrderLogisticsService.java
-
5cereshop-app/src/main/java/com/shop/cereshop/app/service/logistics/impl/CereOrderLogisticsServiceImpl.java
-
228cereshop-app/src/main/java/com/shop/cereshop/app/service/order/impl/CereShopOrderServiceImpl.java
-
6cereshop-app/src/main/java/com/shop/cereshop/app/service/order/placeOrderTemplate/JoinPlaceOrder.java
-
8cereshop-app/src/main/java/com/shop/cereshop/app/service/order/placeOrderTemplate/LaunchPlaceOrder.java
-
19cereshop-app/src/main/java/com/shop/cereshop/app/service/order/placeOrderTemplate/NormalPlaceOrder.java
-
48cereshop-app/src/main/java/com/shop/cereshop/app/service/order/placeOrderTemplate/PlaceOrderTemplate.java
-
2cereshop-app/src/main/java/com/shop/cereshop/app/service/product/CereProductSkuService.java
-
4cereshop-app/src/main/java/com/shop/cereshop/app/service/product/impl/CereProductSkuServiceImpl.java
-
36cereshop-app/src/main/java/com/shop/cereshop/app/service/product/impl/CereShopProductServiceImpl.java
-
19cereshop-app/src/main/java/com/shop/cereshop/app/service/stock/CrossStockService.java
-
114cereshop-app/src/main/java/com/shop/cereshop/app/service/stock/impl/CrossStockServiceImpl.java
-
26cereshop-app/src/main/java/com/shop/cereshop/app/service/storehouse/CereShopStorehouseService.java
-
36cereshop-app/src/main/java/com/shop/cereshop/app/service/storehouse/impl/CereShopStorehouseServiceImpl.java
-
10cereshop-app/src/main/resources/application.yml
-
4cereshop-app/src/main/resources/mybatis/mapper/buyer/CereBuyerShopCouponDAO.xml
-
8cereshop-app/src/main/resources/mybatis/mapper/logistics/CereOrderLogisticsDAO.xml
-
8cereshop-app/src/main/resources/mybatis/mapper/order/CereShopOrderDAO.xml
-
36cereshop-app/src/main/resources/mybatis/mapper/product/CereProductSkuDAO.xml
-
5cereshop-app/src/main/resources/mybatis/mapper/product/CereShopProductDAO.xml
-
23cereshop-app/src/main/resources/mybatis/mapper/storehouse/CereShopStorehouseDAO.xml
-
12cereshop-business/src/main/java/com/shop/cereshop/business/page/logistics/Logistics.java
-
12cereshop-business/src/main/java/com/shop/cereshop/business/page/product/ShopProduct.java
-
12cereshop-business/src/main/java/com/shop/cereshop/business/page/tool/ToolProduct.java
-
6cereshop-business/src/main/java/com/shop/cereshop/business/param/logistics/LogistSaveParam.java
-
6cereshop-business/src/main/java/com/shop/cereshop/business/param/logistics/LogistUpdateParam.java
-
6cereshop-business/src/main/java/com/shop/cereshop/business/param/product/SkuParam.java
-
29cereshop-business/src/main/java/com/shop/cereshop/business/param/shop/ShopCrossDetailGetAllParam.java
-
28cereshop-business/src/main/java/com/shop/cereshop/business/param/shop/ShopCrossDetailGetByIdParam.java
-
132cereshop-business/src/main/java/com/shop/cereshop/business/param/shop/ShopCrossDetailSaveParam.java
-
132cereshop-business/src/main/java/com/shop/cereshop/business/param/shop/ShopCrossDetailUpdateParam.java
-
3cereshop-business/src/main/java/com/shop/cereshop/business/service/logistics/impl/CereOrderLogisticsServiceImpl.java
-
1cereshop-business/src/main/java/com/shop/cereshop/business/service/product/impl/CereShopProductServiceImpl.java
-
27cereshop-business/src/main/resources/mybatis/mapper/logistics/CereOrderLogisticsDAO.xml
-
28cereshop-business/src/main/resources/mybatis/mapper/product/CereProductSkuDAO.xml
-
2cereshop-business/src/main/resources/mybatis/mapper/tool/CereShopDiscountDAO.xml
-
41cereshop-commons/src/main/java/com/shop/cereshop/commons/config/CrossStockConfig.java
-
33cereshop-commons/src/main/java/com/shop/cereshop/commons/config/HuaxunConfig.java
-
3cereshop-commons/src/main/java/com/shop/cereshop/commons/constant/CoReturnFormat.java
-
5cereshop-commons/src/main/java/com/shop/cereshop/commons/domain/logistics/CereOrderLogistics.java
-
2cereshop-commons/src/main/java/com/shop/cereshop/commons/domain/order/CereOrderProduct.java
-
6cereshop-commons/src/main/java/com/shop/cereshop/commons/domain/order/CereShopOrder.java
-
6cereshop-commons/src/main/java/com/shop/cereshop/commons/domain/product/CereProductSku.java
@ -0,0 +1,92 @@ |
|||
package com.shop.cereshop.app.controller.extend; |
|||
|
|||
import com.alibaba.fastjson.JSONObject; |
|||
import com.shop.cereshop.app.pay.xs.domain.XsCallBackRequestVo; |
|||
import com.shop.cereshop.app.pay.xs.service.XsPayService; |
|||
import com.shop.cereshop.app.service.extend.HuaxunService; |
|||
import com.shop.cereshop.app.service.order.CereShopOrderService; |
|||
import com.shop.cereshop.commons.config.XspayConfig; |
|||
import com.shop.cereshop.commons.constant.XsPayEnum; |
|||
import com.shop.cereshop.commons.utils.EmptyUtils; |
|||
import com.shop.cereshop.commons.utils.StringUtils; |
|||
import io.swagger.annotations.Api; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.web.bind.annotation.PostMapping; |
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
import org.springframework.web.bind.annotation.RequestParam; |
|||
import org.springframework.web.bind.annotation.RestController; |
|||
|
|||
import java.math.BigDecimal; |
|||
import java.util.Base64; |
|||
|
|||
/** |
|||
* 新生支付模块 |
|||
*/ |
|||
@RestController |
|||
@RequestMapping("extend/xsPay") |
|||
@Slf4j(topic = "xsPayController") |
|||
@Api(value = "新生支付模块", tags = "新生支付模块") |
|||
public class XsPayController { |
|||
|
|||
@Autowired |
|||
private XsPayService xsPayService; |
|||
|
|||
|
|||
@Autowired |
|||
private HuaxunService huaxunService; |
|||
|
|||
|
|||
@Autowired |
|||
private CereShopOrderService cereShopOrderService; |
|||
/** |
|||
* 支付通知回调 |
|||
* @throws Exception |
|||
*/ |
|||
@PostMapping("pay/notify") |
|||
public void payNotify(@RequestParam(name = "msg") String msg) throws Exception { |
|||
try { |
|||
XsCallBackRequestVo xsCallBackRequestVo = xsPayService.parseCallBackRequestVo(msg); |
|||
String status = xsCallBackRequestVo.getContent().getString("status"); |
|||
//0进行中 1成功 2失败 |
|||
if(StringUtils.equals(status, "1")){ |
|||
log.info("新生支付回调成功"); |
|||
//截取订单编号 |
|||
JSONObject content = xsCallBackRequestVo.getContent(); |
|||
String merOrderId = content.getString("merOrderId"); |
|||
String[] split = merOrderId.split("-"); |
|||
if(!EmptyUtils.isEmpty(split)){ |
|||
String orderFormId=split[0]; |
|||
if(!EmptyUtils.isEmpty(orderFormId)){ |
|||
//支付有礼 |
|||
cereShopOrderService.payGift(orderFormId); |
|||
String dealId = content.getString("dealId"); |
|||
//处理支付成功后的其他逻辑 |
|||
cereShopOrderService.handleWxLog(orderFormId, dealId, merOrderId); |
|||
} |
|||
|
|||
} |
|||
//TODO 如果不是跨境支付应该不调用改接口------pxh |
|||
if(StringUtils.equals(XspayConfig.DEFUALT_TRADE_TYPE, XsPayEnum.TRADE_TYPE_CROSS_BOARD_PAYMENT.getCode())){ |
|||
String payRequestBodyJson = xsPayService.getPayRequestBodyJson(merOrderId, new BigDecimal(Integer.parseInt(content.getString("orderAmount")) * 1.0f / 100), |
|||
XsPayEnum.TRADE_TYPE_CROSS_BOARD_PAYMENT.getCode(), content.getString("payType")); |
|||
huaxunService.pushBaoguanRequest(payRequestBodyJson); |
|||
|
|||
String msgStr = new String(Base64.getDecoder().decode(msg)); |
|||
huaxunService.pushBaoguanRespone(msgStr); |
|||
} |
|||
} |
|||
} catch (Exception e) { |
|||
e.printStackTrace(); |
|||
} |
|||
} |
|||
|
|||
/** |
|||
* 退款通知回调 |
|||
* @throws Exception |
|||
*/ |
|||
@PostMapping("refund/notify") |
|||
public void refundNotify(@RequestParam(name = "msg") String msg) throws Exception { |
|||
log.info("----refundNotify:" + msg); |
|||
} |
|||
} |
|||
@ -0,0 +1,15 @@ |
|||
/* |
|||
* Copyright (C) 2017-2021 |
|||
* All rights reserved, Designed By 深圳中科鑫智科技有限公司 |
|||
* Copyright authorization contact 18814114118 |
|||
*/ |
|||
package com.shop.cereshop.app.dao.shop; |
|||
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import com.shop.cereshop.commons.domain.shop.CereShopCrossDetail; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
|
|||
@Mapper |
|||
public interface CereShopCrossDetailDAO extends BaseMapper<CereShopCrossDetail> { |
|||
|
|||
} |
|||
@ -0,0 +1,15 @@ |
|||
/* |
|||
* Copyright (C) 2017-2021 |
|||
* All rights reserved, Designed By 深圳中科鑫智科技有限公司 |
|||
* Copyright authorization contact 18814114118 |
|||
*/ |
|||
package com.shop.cereshop.app.dao.storehouse; |
|||
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import com.shop.cereshop.commons.domain.storehouse.CereShopStorehouse; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
|
|||
@Mapper |
|||
public interface CereShopStorehouseDAO extends BaseMapper<CereShopStorehouse> { |
|||
|
|||
} |
|||
@ -0,0 +1,21 @@ |
|||
package com.shop.cereshop.app.domain.stock; |
|||
|
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
|
|||
@Data |
|||
@ApiModel(value = "CrossStockResponeBo", description = "仓储接口返回值") |
|||
public class CrossStockResponeBo<T> implements Serializable { |
|||
|
|||
@ApiModelProperty(value = "记录数") |
|||
private String count; |
|||
@ApiModelProperty(value = "库存对象") |
|||
private T data; |
|||
@ApiModelProperty(value = "返回描述") |
|||
private String desc; |
|||
@ApiModelProperty(value = "返回码(00-成功,其他异常)") |
|||
private String result; |
|||
} |
|||
@ -0,0 +1,21 @@ |
|||
package com.shop.cereshop.app.domain.stock; |
|||
|
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
import java.math.BigDecimal; |
|||
|
|||
@Data |
|||
@ApiModel(value = "IbOrderItemRequestBo", description = "仓储报关子订单入参") |
|||
public class IbOrderItemRequestBo implements Serializable { |
|||
// @ApiModelProperty(value = "商品条码[不填时请到商品管理中维护条码排序]") |
|||
// private String defaultcode; |
|||
@ApiModelProperty(value = "单价") |
|||
private BigDecimal price; |
|||
@ApiModelProperty(value = "数量") |
|||
private BigDecimal qty; |
|||
@ApiModelProperty(value = "商品货号") |
|||
private String sku; |
|||
} |
|||
@ -0,0 +1,34 @@ |
|||
package com.shop.cereshop.app.domain.stock; |
|||
|
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
import java.math.BigDecimal; |
|||
|
|||
@Data |
|||
@ApiModel(value = "KjtStockNumberResponeBo", description = "仓储报关返回值") |
|||
public class KjtStockNumberResponeBo implements Serializable { |
|||
|
|||
@ApiModelProperty(value = "商品条码") |
|||
private String defaultcode; |
|||
@ApiModelProperty(value = "商品名称") |
|||
private String goodsname; |
|||
@ApiModelProperty(value = "残品") |
|||
private BigDecimal inferiorboxnumber; |
|||
@ApiModelProperty(value = "正品") |
|||
private BigDecimal inferiornitumber; |
|||
@ApiModelProperty(value = "已出库") |
|||
private String isextraproduct; |
|||
@ApiModelProperty(value = "待出库") |
|||
private BigDecimal reserved; |
|||
@ApiModelProperty(value = "sku") |
|||
private String sku; |
|||
@ApiModelProperty(value = "仓库唯一标识") |
|||
private String storeid; |
|||
@ApiModelProperty(value = "可售数量") |
|||
private BigDecimal unsellable; |
|||
@ApiModelProperty(value = "预扣库存") |
|||
private BigDecimal withholdnumber; |
|||
} |
|||
@ -0,0 +1,73 @@ |
|||
package com.shop.cereshop.app.domain.stock; |
|||
|
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
import java.math.BigDecimal; |
|||
import java.util.List; |
|||
|
|||
@Data |
|||
@ApiModel(value = "NewIbOrderRequestBo", description = "仓储报关入参") |
|||
public class NewIbOrderRequestBo implements Serializable { |
|||
|
|||
@ApiModelProperty(value = "实际支付金额(单位:元)(小数点保留两位)(实际付金额=商品的总金额+税金+运费-优惠卷)") |
|||
private BigDecimal acturalpaid; |
|||
@ApiModelProperty(value = "订单批次号") |
|||
private String batchnumbers; |
|||
@ApiModelProperty(value = "订购人身份证号码") |
|||
private String buyeridnumber; |
|||
@ApiModelProperty(value = "订购人姓名") |
|||
private String buyername; |
|||
@ApiModelProperty(value = "订购人注册号") |
|||
private String buyerregno; |
|||
@ApiModelProperty(value = "子账号唯一标识") |
|||
private String childid; |
|||
@ApiModelProperty(value = "收货人姓名") |
|||
private String consignee; |
|||
@ApiModelProperty(value = "收货地址") |
|||
private String consigneeaddress; |
|||
@ApiModelProperty(value = "收货人城市") |
|||
private String consigneecity; |
|||
@ApiModelProperty(value = "收货人公司") |
|||
private String consigneecompany; |
|||
@ApiModelProperty(value = "收件人邮箱") |
|||
private String consigneeemail; |
|||
@ApiModelProperty(value = "收件人身份证") |
|||
private String consigneeidcard; |
|||
@ApiModelProperty(value = "收货人省") |
|||
private String consigneeprovince; |
|||
@ApiModelProperty(value = "街道") |
|||
private String consigneestreet; |
|||
@ApiModelProperty(value = "收货人电话") |
|||
private String consigneetelephone; |
|||
@ApiModelProperty(value = "优惠券金额(小数点保留两位)") |
|||
private BigDecimal discount; |
|||
@ApiModelProperty(value = "电商平台代码") |
|||
private String ebpcode; |
|||
@ApiModelProperty(value = "电商平台名称") |
|||
private String ebpname; |
|||
@ApiModelProperty(value = "快递类型") |
|||
private String expressid; |
|||
@ApiModelProperty(value = "运杂费(小数点保留两位)") |
|||
private BigDecimal freight; |
|||
@ApiModelProperty(value = "保税商品") |
|||
private List<IbOrderItemRequestBo> items; |
|||
@ApiModelProperty(value = "企业备注") |
|||
private String note; |
|||
@ApiModelProperty(value = "订单编号") |
|||
private String orderno; |
|||
@ApiModelProperty(value = "支付企业代码") |
|||
private String paycode; |
|||
@ApiModelProperty(value = "支付企业名称") |
|||
private String payname; |
|||
@ApiModelProperty(value = "支付交易编号") |
|||
private String paytransactionid; |
|||
@ApiModelProperty(value = "订购人电话") |
|||
private String purchasertelephone; |
|||
@ApiModelProperty(value = "仓库ID") |
|||
private String storeid; |
|||
@ApiModelProperty(value = "代收税款(小数点保留两位)") |
|||
private BigDecimal taxtotal; |
|||
} |
|||
@ -0,0 +1,19 @@ |
|||
/* |
|||
* Copyright (C) 2017-2021 |
|||
* All rights reserved, Designed By 深圳中科鑫智科技有限公司 |
|||
* Copyright authorization contact 18814114118 |
|||
*/ |
|||
package com.shop.cereshop.app.service.stock; |
|||
|
|||
import com.shop.cereshop.app.page.product.ProductStockInfo; |
|||
import com.shop.cereshop.commons.exception.CoBusinessException; |
|||
|
|||
public interface CrossStockService { |
|||
|
|||
|
|||
/** |
|||
* 仓储推关 |
|||
* @param orderFormId |
|||
*/ |
|||
void ibOrder(String orderFormId) throws CoBusinessException; |
|||
} |
|||
@ -0,0 +1,114 @@ |
|||
/* |
|||
* Copyright (C) 2017-2021 |
|||
* All rights reserved, Designed By 深圳中科鑫智科技有限公司 |
|||
* Copyright authorization contact 18814114118 |
|||
*/ |
|||
package com.shop.cereshop.app.service.stock.impl; |
|||
|
|||
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
|||
import com.shop.cereshop.app.dao.order.CereOrderProductDAO; |
|||
import com.shop.cereshop.app.dao.order.CereShopOrderDAO; |
|||
import com.shop.cereshop.app.dao.shop.CereShopCrossDetailDAO; |
|||
import com.shop.cereshop.app.dao.storehouse.CereShopStorehouseDAO; |
|||
import com.shop.cereshop.app.domain.stock.NewIbOrderRequestBo; |
|||
import com.shop.cereshop.app.page.cart.CartSku; |
|||
import com.shop.cereshop.app.service.buyer.CereBuyerUserService; |
|||
import com.shop.cereshop.app.service.order.CereOrderProductService; |
|||
import com.shop.cereshop.app.service.stock.CrossStockService; |
|||
import com.shop.cereshop.commons.config.CrossStockConfig; |
|||
import com.shop.cereshop.commons.domain.express.HttpResult; |
|||
import com.shop.cereshop.commons.domain.order.CereOrderParent; |
|||
import com.shop.cereshop.commons.domain.order.CereShopOrder; |
|||
import com.shop.cereshop.commons.domain.shop.CereShopCrossDetail; |
|||
import com.shop.cereshop.commons.domain.storehouse.CereShopStorehouse; |
|||
import com.shop.cereshop.commons.exception.CoBusinessException; |
|||
import com.shop.cereshop.commons.utils.EmptyUtils; |
|||
import com.shop.cereshop.commons.utils.HttpUtils; |
|||
import com.shop.cereshop.commons.utils.StringUtils; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import java.util.List; |
|||
import java.util.stream.Collectors; |
|||
|
|||
@Slf4j |
|||
@Service |
|||
public class CrossStockServiceImpl implements CrossStockService{ |
|||
|
|||
@Autowired |
|||
private CereShopOrderDAO cereShopOrderDAO; |
|||
|
|||
@Autowired |
|||
private CereBuyerUserService cereBuyerUserService; |
|||
|
|||
@Autowired |
|||
private CereOrderProductDAO cereOrderProductDAO; |
|||
|
|||
@Autowired |
|||
private CereShopCrossDetailDAO cereShopCrossDetailDAO; |
|||
|
|||
@Autowired |
|||
private CereOrderProductService cereOrderProductService; |
|||
|
|||
@Autowired |
|||
private CereShopStorehouseDAO cereShopStorehouseDAO; |
|||
|
|||
|
|||
|
|||
|
|||
@Override |
|||
public void ibOrder(String orderFormId) throws CoBusinessException { |
|||
List<CereShopOrder> orderList = null; |
|||
String cereOrderFormId = orderFormId; |
|||
String[] split = orderFormId.split("-"); |
|||
if(!EmptyUtils.isEmpty(split)) { |
|||
cereOrderFormId = split[0]; |
|||
} |
|||
//查询是否为父订单编号 |
|||
CereOrderParent parent = cereShopOrderDAO.findByParentFormid(cereOrderFormId); |
|||
if (parent != null) { |
|||
//查询所有子订单数据 |
|||
orderList = cereShopOrderDAO.findByParentId(parent.getParentId()); |
|||
} else { |
|||
//子订单支付回调 |
|||
orderList = cereShopOrderDAO.findByFormid(cereOrderFormId); |
|||
} |
|||
if(orderList.isEmpty()){ |
|||
throw new CoBusinessException("10000","订单查找出错"); |
|||
} |
|||
|
|||
orderList = orderList.stream().filter(item -> item.getIsCross() == 1).collect(Collectors.toList()); |
|||
|
|||
if(orderList.isEmpty()){ |
|||
//这个是纯国内订单,不需要处理 |
|||
return; |
|||
} |
|||
|
|||
//查找商家--第一个跨境订单 |
|||
CereShopOrder firstOrder = orderList.get(0); |
|||
//商家详细信息 |
|||
CereShopCrossDetail cereShopCrossDetail = cereShopCrossDetailDAO.selectOne(Wrappers.<CereShopCrossDetail>lambdaQuery().eq(CereShopCrossDetail::getShopId, firstOrder.getShopId())); |
|||
if(cereShopCrossDetail == null){ |
|||
throw new CoBusinessException("10000","商家未设置跨境信息"); |
|||
} |
|||
|
|||
//获取SKU详情 |
|||
List<CartSku> skus = cereOrderProductService.findOrderProductSku(firstOrder.getOrderId()); |
|||
|
|||
//查询仓库--因为一个订单内所有商品都是同一个仓库的,所以直接获取即可 |
|||
CereShopStorehouse cereShopStorehouse = cereShopStorehouseDAO.selectOne(Wrappers.<CereShopStorehouse>lambdaQuery().eq(CereShopStorehouse::getStorehouseId, firstOrder.getShopId())); |
|||
|
|||
//组装请求参数 |
|||
|
|||
NewIbOrderRequestBo bo = new NewIbOrderRequestBo(); |
|||
HttpResult httpResult = HttpUtils.doPost(CrossStockConfig.getApiUrl("ibOrder"), bo); |
|||
if (httpResult.getStatus() == 200 && StringUtils.equals("success", httpResult.getBody())){ |
|||
//报关成功 |
|||
log.info("报关发送支付请求成功"); |
|||
}else { |
|||
log.info("报关发送支付请求失败:" + httpResult.getBody()); |
|||
// log.info("报关发送支付请求参数:" + request); |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,26 @@ |
|||
/* |
|||
* Copyright (C) 2017-2021 |
|||
* All rights reserved, Designed By 深圳中科鑫智科技有限公司 |
|||
* Copyright authorization contact 18814114118 |
|||
*/ |
|||
package com.shop.cereshop.app.service.storehouse; |
|||
|
|||
import com.shop.cereshop.commons.domain.storehouse.CereShopStorehouse; |
|||
|
|||
import java.util.List; |
|||
|
|||
public interface CereShopStorehouseService { |
|||
|
|||
/** |
|||
* 查询详情 |
|||
* @return |
|||
*/ |
|||
CereShopStorehouse getById(Long storehouseId); |
|||
|
|||
/** |
|||
* 查询列表 |
|||
* @param storehouseIdList |
|||
* @return |
|||
*/ |
|||
List<CereShopStorehouse> getAll(List<Long> storehouseIdList); |
|||
} |
|||
@ -0,0 +1,36 @@ |
|||
/* |
|||
* Copyright (C) 2017-2021 |
|||
* All rights reserved, Designed By 深圳中科鑫智科技有限公司 |
|||
* Copyright authorization contact 18814114118 |
|||
*/ |
|||
package com.shop.cereshop.app.service.storehouse.impl; |
|||
|
|||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|||
import com.shop.cereshop.app.dao.storehouse.CereShopStorehouseDAO; |
|||
import com.shop.cereshop.app.service.storehouse.CereShopStorehouseService; |
|||
import com.shop.cereshop.commons.domain.storehouse.CereShopStorehouse; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import java.util.List; |
|||
|
|||
@Service |
|||
public class CereShopStorehouseServiceImpl implements CereShopStorehouseService { |
|||
|
|||
@Autowired |
|||
private CereShopStorehouseDAO cereShopStorehouseDAO; |
|||
|
|||
|
|||
@Override |
|||
public CereShopStorehouse getById(Long storehouseId) { |
|||
return cereShopStorehouseDAO.selectById(storehouseId); |
|||
} |
|||
|
|||
@Override |
|||
public List<CereShopStorehouse> getAll(List<Long> storehouseIdList) { |
|||
LambdaQueryWrapper<CereShopStorehouse> wrapper = new LambdaQueryWrapper<>(); |
|||
wrapper.in(CereShopStorehouse::getStorehouseId, storehouseIdList); |
|||
return cereShopStorehouseDAO.selectList(wrapper); |
|||
} |
|||
|
|||
} |
|||
@ -0,0 +1,23 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
|||
<mapper namespace="com.shop.cereshop.business.dao.storehouse.CereShopStorehouseDAO"> |
|||
<resultMap id="BaseResultMap" type="com.shop.cereshop.commons.domain.storehouse.CereShopStorehouse"> |
|||
<id column="storehouse_id" jdbcType="BIGINT" property="storehouseId" /> |
|||
<result column="shop_id" jdbcType="BIGINT" property="shopId" /> |
|||
<result column="storehouse_name" jdbcType="VARCHAR" property="storehouseName" /> |
|||
<result column="type" jdbcType="INTEGER" property="type" /> |
|||
<result column="kind" jdbcType="INTEGER" property="kind" /> |
|||
<result column="if_cashier" jdbcType="BIT" property="ifCashier" /> |
|||
<result column="one_product_order_price_limit" jdbcType="DECIMAL" property="oneProductOrderPriceLimit" /> |
|||
<result column="more_product_order_price_limit" jdbcType="DECIMAL" property="moreProductOrderPriceLimit" /> |
|||
<result column="one_product_num_limit" jdbcType="INTEGER" property="oneProductNumLimit" /> |
|||
<result column="more_product_num_limit" jdbcType="INTEGER" property="moreProductNumLimit" /> |
|||
<result column="order_number_limit" jdbcType="INTEGER" property="orderNumberLimit" /> |
|||
<result column="create_time" jdbcType="VARCHAR" property="createTime" /> |
|||
<result column="update_time" jdbcType="VARCHAR" property="updateTime" /> |
|||
</resultMap> |
|||
<sql id="Base_Column_List"> |
|||
storehouse_id, shop_id, storehouse_name, type, kind, if_cashier, one_product_order_price_limit, more_product_order_price_limit,one_product_num_limit,more_product_num_limit, order_number_limit,create_time,update_time |
|||
</sql> |
|||
|
|||
</mapper> |
|||
@ -0,0 +1,29 @@ |
|||
/* |
|||
* Copyright (C) 2017-2021 |
|||
* All rights reserved, Designed By 深圳中科鑫智科技有限公司 |
|||
* Copyright authorization contact 18814114118 |
|||
*/ |
|||
package com.shop.cereshop.business.param.shop; |
|||
|
|||
import com.shop.cereshop.commons.domain.common.PageParam; |
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* cere_shop_cross_detail 店铺跨境拓展信息 |
|||
* @author |
|||
*/ |
|||
@Data |
|||
@ApiModel(value = "ShopCrossDetailGetAllParam", description = "获取店铺跨境信息列表请求") |
|||
public class ShopCrossDetailGetAllParam extends PageParam implements Serializable { |
|||
/** |
|||
* 店铺id |
|||
*/ |
|||
@ApiModelProperty(value = "店铺id") |
|||
private Long shopId; |
|||
|
|||
|
|||
} |
|||
@ -0,0 +1,28 @@ |
|||
/* |
|||
* Copyright (C) 2017-2021 |
|||
* All rights reserved, Designed By 深圳中科鑫智科技有限公司 |
|||
* Copyright authorization contact 18814114118 |
|||
*/ |
|||
package com.shop.cereshop.business.param.shop; |
|||
|
|||
import com.shop.cereshop.commons.domain.common.PageParam; |
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* cere_shop_cross_detail 店铺跨境拓展信息 |
|||
* @author |
|||
*/ |
|||
@Data |
|||
@ApiModel(value = "ShopCrossDetailGetByIdParam", description = "获取店铺跨境信息详情请求") |
|||
public class ShopCrossDetailGetByIdParam extends PageParam implements Serializable { |
|||
/** |
|||
* 店铺秒杀活动id |
|||
*/ |
|||
@ApiModelProperty(value = "拓展信息Id") |
|||
private Long crossDetailId; |
|||
|
|||
} |
|||
@ -0,0 +1,132 @@ |
|||
/* |
|||
* Copyright (C) 2017-2021 |
|||
* All rights reserved, Designed By 深圳中科鑫智科技有限公司 |
|||
* Copyright authorization contact 18814114118 |
|||
*/ |
|||
package com.shop.cereshop.business.param.shop; |
|||
|
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* cere_shop_cross_detail 店铺跨境拓展信息 |
|||
* @author |
|||
*/ |
|||
@Data |
|||
public class ShopCrossDetailSaveParam implements Serializable { |
|||
/** |
|||
* 关联店铺id |
|||
*/ |
|||
@ApiModelProperty(value = "关联店铺id") |
|||
private Long shopId; |
|||
|
|||
/** |
|||
* 电商平台名称 |
|||
*/ |
|||
@ApiModelProperty(value = "电商平台名称") |
|||
private String ebpname; |
|||
|
|||
/** |
|||
* 电商平台代码 |
|||
*/ |
|||
@ApiModelProperty(value = "电商平台代码") |
|||
private String ebpcode; |
|||
|
|||
/** |
|||
* 电商企业名称 |
|||
*/ |
|||
@ApiModelProperty(value = "电商企业名称") |
|||
private String ebpcname; |
|||
|
|||
/** |
|||
* 电商企业代码 |
|||
*/ |
|||
@ApiModelProperty(value = "电商企业代码") |
|||
private String ebpccode; |
|||
/** |
|||
* 申报企业名称 |
|||
*/ |
|||
@ApiModelProperty(value = "申报企业名称") |
|||
private String agentName; |
|||
|
|||
/** |
|||
* 申报企业代码 |
|||
*/ |
|||
@ApiModelProperty(value = "申报企业代码") |
|||
private String agentCode; |
|||
/** |
|||
* 区内企业名称 |
|||
*/ |
|||
@ApiModelProperty(value = "区内企业名称") |
|||
private String areaName; |
|||
|
|||
/** |
|||
* 区内企业代码 |
|||
*/ |
|||
@ApiModelProperty(value = "区内企业代码") |
|||
private String areaCode; |
|||
/** |
|||
* 担保企业名称 |
|||
*/ |
|||
@ApiModelProperty(value = "担保企业名称") |
|||
private String assureName; |
|||
|
|||
/** |
|||
* 担保企业代码 |
|||
*/ |
|||
@ApiModelProperty(value = "担保企业代码") |
|||
private String assureCode; |
|||
/** |
|||
* 账册编号 |
|||
*/ |
|||
@ApiModelProperty(value = "账册编号") |
|||
private String zcCode; |
|||
|
|||
/** |
|||
* 申报海关代码 |
|||
*/ |
|||
@ApiModelProperty(value = "申报海关代码") |
|||
private String sbhgCode; |
|||
|
|||
/** |
|||
* 口岸海关代码 |
|||
*/ |
|||
@ApiModelProperty(value = "口岸海关代码") |
|||
private String kahgCode; |
|||
|
|||
/** |
|||
* 订单传输企业名称 |
|||
*/ |
|||
@ApiModelProperty(value = "订单传输企业名称") |
|||
private String copName; |
|||
|
|||
/** |
|||
* 订单传输企业代码 |
|||
*/ |
|||
@ApiModelProperty(value = "订单传输企业代码") |
|||
private String copCode; |
|||
|
|||
/** |
|||
* 清单传输企业名称 |
|||
*/ |
|||
@ApiModelProperty(value = "清单传输企业名称") |
|||
private String copName1; |
|||
|
|||
/** |
|||
* 清单传输企业代码 |
|||
*/ |
|||
@ApiModelProperty(value = "清单传输企业代码") |
|||
private String copCode1; |
|||
|
|||
|
|||
|
|||
/** |
|||
* 公司对公银行账户 |
|||
*/ |
|||
@ApiModelProperty(value = "公司对公银行账户") |
|||
private String bankCode; |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
} |
|||
@ -0,0 +1,132 @@ |
|||
/* |
|||
* Copyright (C) 2017-2021 |
|||
* All rights reserved, Designed By 深圳中科鑫智科技有限公司 |
|||
* Copyright authorization contact 18814114118 |
|||
*/ |
|||
package com.shop.cereshop.business.param.shop; |
|||
|
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* cere_shop_cross_detail 店铺跨境拓展信息 |
|||
* @author |
|||
*/ |
|||
@Data |
|||
public class ShopCrossDetailUpdateParam implements Serializable { |
|||
@ApiModelProperty(value = "拓展信息Id") |
|||
private Long crossDetailId; |
|||
/** |
|||
* 关联店铺id |
|||
*/ |
|||
@ApiModelProperty(value = "关联店铺id") |
|||
private Long shopId; |
|||
|
|||
/** |
|||
* 电商平台名称 |
|||
*/ |
|||
@ApiModelProperty(value = "电商平台名称") |
|||
private String ebpname; |
|||
|
|||
/** |
|||
* 电商平台代码 |
|||
*/ |
|||
@ApiModelProperty(value = "电商平台代码") |
|||
private String ebpcode; |
|||
|
|||
/** |
|||
* 电商企业名称 |
|||
*/ |
|||
@ApiModelProperty(value = "电商企业名称") |
|||
private String ebpcname; |
|||
|
|||
/** |
|||
* 电商企业代码 |
|||
*/ |
|||
@ApiModelProperty(value = "电商企业代码") |
|||
private String ebpccode; |
|||
/** |
|||
* 申报企业名称 |
|||
*/ |
|||
@ApiModelProperty(value = "申报企业名称") |
|||
private String agentName; |
|||
|
|||
/** |
|||
* 申报企业代码 |
|||
*/ |
|||
@ApiModelProperty(value = "申报企业代码") |
|||
private String agentCode; |
|||
/** |
|||
* 区内企业名称 |
|||
*/ |
|||
@ApiModelProperty(value = "区内企业名称") |
|||
private String areaName; |
|||
|
|||
/** |
|||
* 区内企业代码 |
|||
*/ |
|||
@ApiModelProperty(value = "区内企业代码") |
|||
private String areaCode; |
|||
/** |
|||
* 担保企业名称 |
|||
*/ |
|||
@ApiModelProperty(value = "担保企业名称") |
|||
private String assureName; |
|||
|
|||
/** |
|||
* 担保企业代码 |
|||
*/ |
|||
@ApiModelProperty(value = "担保企业代码") |
|||
private String assureCode; |
|||
/** |
|||
* 账册编号 |
|||
*/ |
|||
@ApiModelProperty(value = "账册编号") |
|||
private String zcCode; |
|||
|
|||
/** |
|||
* 申报海关代码 |
|||
*/ |
|||
@ApiModelProperty(value = "申报海关代码") |
|||
private String sbhgCode; |
|||
|
|||
/** |
|||
* 口岸海关代码 |
|||
*/ |
|||
@ApiModelProperty(value = "口岸海关代码") |
|||
private String kahgCode; |
|||
|
|||
/** |
|||
* 订单传输企业名称 |
|||
*/ |
|||
@ApiModelProperty(value = "订单传输企业名称") |
|||
private String copName; |
|||
|
|||
/** |
|||
* 订单传输企业代码 |
|||
*/ |
|||
@ApiModelProperty(value = "订单传输企业代码") |
|||
private String copCode; |
|||
|
|||
/** |
|||
* 清单传输企业名称 |
|||
*/ |
|||
@ApiModelProperty(value = "清单传输企业名称") |
|||
private String copName1; |
|||
|
|||
/** |
|||
* 清单传输企业代码 |
|||
*/ |
|||
@ApiModelProperty(value = "清单传输企业代码") |
|||
private String copCode1; |
|||
|
|||
/** |
|||
* 公司对公银行账户 |
|||
*/ |
|||
@ApiModelProperty(value = "公司对公银行账户") |
|||
private String bankCode; |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
} |
|||
@ -0,0 +1,41 @@ |
|||
/* |
|||
* Copyright (C) 2017-2021 |
|||
* All rights reserved, Designed By 深圳中科鑫智科技有限公司 |
|||
* Copyright authorization contact 18814114118 |
|||
*/ |
|||
package com.shop.cereshop.commons.config; |
|||
|
|||
import org.springframework.beans.factory.annotation.Value; |
|||
import org.springframework.stereotype.Component; |
|||
|
|||
@Component |
|||
public class CrossStockConfig { |
|||
|
|||
public static String URL = "http://47.112.3.12:8288"; |
|||
|
|||
public static String APPTOKEN = "ad523693d56243dc87e820bd44e18da1"; |
|||
|
|||
// 加密key |
|||
public static String APPKEY = "4d6e1cf9dbb24dc78c3c4d24db021333"; |
|||
|
|||
|
|||
@Value("${crossstock.url:}") |
|||
public void setUrl(String url) { |
|||
this.URL = url; |
|||
} |
|||
|
|||
|
|||
@Value("${crossstock.appToken:}") |
|||
public void setToken(String appToken) { |
|||
this.APPTOKEN = appToken; |
|||
} |
|||
|
|||
@Value("${crossstock.appKey:}") |
|||
public void setAppKey(String appKey) { |
|||
this.APPKEY = appKey; |
|||
} |
|||
|
|||
public static String getApiUrl(String apiUrlPath){ |
|||
return URL + "/" + apiUrlPath + "?apptoken=" + APPTOKEN + "&appkey=" + APPKEY; |
|||
} |
|||
} |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue