huanglizhi 1 жил өмнө
parent
commit
b75602e6ea

+ 1 - 0
module-erp/src/main/java/com/hys/app/service/erp/impl/OrderManagerImpl.java

@@ -167,6 +167,7 @@ public class OrderManagerImpl extends BaseServiceImpl<OrderMapper, OrderDO> impl
         List<OrderItemDO> dos = orderItemManager.list(new LambdaQueryWrapper<OrderItemDO>().eq(OrderItemDO::getOrderId, id));
 
         Set<Long> set = dos.stream().map(OrderItemDO::getWarehouseId).collect(Collectors.toSet());
+        orderSendManager.remove(new LambdaQueryWrapper<OrderSendDO>().eq(OrderSendDO::getOrderId,id));
         for (Long warehouseId : set) {
             //如果允许负库存 把所有不够库存的做成一个发货单打上标记,剩下的做成一个发货单
             List<OrderItemDO> collect = dos.stream().filter(item -> item.getWarehouseId().equals(warehouseId)).collect(Collectors.toList());

+ 11 - 2
module-erp/src/main/java/com/hys/app/service/kuaidiniao/KuaiDiNiaoServiceImpl.java

@@ -1,5 +1,6 @@
 package com.hys.app.service.kuaidiniao;
 
+import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.codec.Base64;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
@@ -34,6 +35,7 @@ import java.net.URLEncoder;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.regex.Pattern;
 
 @Service
 public class KuaiDiNiaoServiceImpl implements KuaiDiNiaoService {
@@ -116,14 +118,21 @@ public class KuaiDiNiaoServiceImpl implements KuaiDiNiaoService {
 
     @Override
     public void createStore(CreateStoreModel createStoreModel, String constants) {
+        if (Pattern.matches(".*[\\u4e00-\\u9fa5\\p{P}].*", createStoreModel.getStoreCode())){
+            throw new ServiceException("门店编码和统一社会信用代码不能包含中文和特殊符号");
+        }
+        if (Pattern.matches(".*[\\u4e00-\\u9fa5\\p{P}].*", createStoreModel.getCreditCode())){
+            throw new ServiceException("门店编码和统一社会信用代码不能包含中文和特殊符号");
+        }
         Long modelId = createStoreModel.getId();
         createStoreModel.setId(null);
         fillParam(createStoreModel);
+        CreateStoreModel createStoreModel2 = BeanUtil.copyProperties(createStoreModel, CreateStoreModel.class);
         try {
-            String design = URLEncoder.encode(Base64.encode(DigestUtil.md5Hex(JSONUtil.toJsonStr(createStoreModel) + apiKey)), "UTF-8");
+            String design = URLEncoder.encode(Base64.encode(DigestUtil.md5Hex(JSONUtil.toJsonStr(createStoreModel2) + apiKey)), "UTF-8");
             System.out.println("创建店铺签名--------------------------------------" + design);
             //拼接参数
-            String param = "interfaceType=" + constants + "&customerCode=" + id + "&requestData=" + JSONUtil.toJsonStr(createStoreModel) + "&dataSign=" + design;
+            String param = "interfaceType=" + constants + "&customerCode=" + id + "&requestData=" + JSONUtil.toJsonStr(createStoreModel2) + "&dataSign=" + design;
             //发请求
             String res = HttpUtil.post(url, param);
             Map map = JSON.parseObject(res, Map.class);

+ 97 - 0
module-erp/src/main/java/com/hys/app/service/kuaidiniao/entity/CreateStoreModel2.java

@@ -0,0 +1,97 @@
+package com.hys.app.service.kuaidiniao.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * 预下单参数
+ */
+@Data
+@TableName("erp_store_kdn")
+public class CreateStoreModel2 {
+
+    private Long id;
+
+    @ApiModelProperty(value = "1、storeCode平台门店编码(商家自定义门店编码,唯一),个人即时配编码固定传storeCode;2、merchantCode快递鸟门店编码(商家门店编码映射KDN门店编码)个人即时配编码固传merchantCode”;3、平台门店编码和快递鸟门店编码必填一项,且两者只能同时填一项。")
+    @NotBlank
+    private String storeCode;
+
+    @ApiModelProperty(value = "门店名称(自定义且不可重复,不允许出现“测试”、“test”等字眼)")
+    @NotBlank
+    private String storeName;
+
+    @ApiModelProperty(value = "门店物品类型")
+    @NotBlank
+    private String storeGoodsType;
+
+    @ApiModelProperty(value = "省")
+    @NotBlank
+    private String provinceName;
+
+    @ApiModelProperty(value = "市")
+    @NotBlank
+    private String cityName;
+
+    @ApiModelProperty(value = "县")
+    @NotBlank
+    private String areaName;
+
+    @ApiModelProperty(value = "门店详细地址")
+    @NotBlank
+    private String address;
+
+    @ApiModelProperty(value = "坐标类型1:百度地图、 2:高德地图 、3:腾讯地图")
+    private Integer lbsType = 2;
+
+    @ApiModelProperty(value = "经度,精确到小数点后5位")
+    private String longitude;
+
+    @ApiModelProperty(value = "纬度,精确到小数点后5位")
+    private String latitude;
+
+    @ApiModelProperty(value = "门店联系人姓名,存在配送员上门前联系门店场景,如没有找到门店,联系门店联系人进行确认")
+    @NotBlank
+    private String contactName;
+
+    @ApiModelProperty(value = "门店联系人电话(门店联系人手机号和座机号必填一项)")
+    @NotBlank
+    private String phone;
+
+    @ApiModelProperty(value = "附件类型(有上传附件时,该字段必填)1:URL地址2:Base64(不支持) 3:图片hash值")
+    private Integer attachType = 1;
+
+    @ApiModelProperty(value = "身份证正面图片(使用美团、蜂鸟必填)")
+    @NotBlank
+    private String idCardFront;
+
+    @ApiModelProperty(value = "身份证反面图片(使用美团、蜂鸟必填)")
+    @NotBlank
+    private String idCardBack;
+
+    @ApiModelProperty(value = "身份证号(使用美团、蜂鸟必填)")
+    @NotBlank
+    private String idCard;
+
+    @ApiModelProperty(value = "身份证姓名(使用美团、蜂鸟必填)")
+    @NotBlank
+    private String idCardName;
+
+    @ApiModelProperty(value = "营业执照图片(使用美团、蜂鸟必填)")
+    @NotBlank
+    private String license;
+
+    @ApiModelProperty(value = "社会统一信用代码(使用美团、蜂鸟必填)")
+    @NotBlank
+    private String creditCode;
+
+    @ApiModelProperty(value = "门店照图片(使用美团、蜂鸟必填)")
+    @NotBlank
+    private String shopPicture;
+
+    @ApiModelProperty(value = "门店拥有人手持身份证、营业执照图片(使用美团、蜂鸟必填)")
+    @NotBlank
+    private String handheldLicencePic;
+}