Browse Source

add deliver

wangming 4 ngày trước cách đây
mục cha
commit
33cd9e7bdb

+ 4 - 4
yami-shop-bean/src/main/java/com/yami/shop/bean/model/OrderItem.java

@@ -14,9 +14,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.AllArgsConstructor;
 import lombok.Data;
-import lombok.NoArgsConstructor;
 
 import java.io.Serializable;
 import java.util.Date;
@@ -37,13 +35,11 @@ public class OrderItem implements Serializable {
     /**
      * 订单orderNumber
      */
-
     private String orderNumber;
 
     /**
      * 产品ID
      */
-
     private Long prodId;
 
     /**
@@ -198,4 +194,8 @@ public class OrderItem implements Serializable {
 
     @TableField(exist = false)
     private Integer refundCount;
+
+    @TableField(exist = false)
+    private String spec;
+
 }

+ 0 - 12
yami-shop-service/src/main/java/com/yami/shop/service/impl/OrderServiceImpl.java

@@ -25,8 +25,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.databind.ObjectMapper;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import com.google.gson.internal.LinkedTreeMap;
@@ -83,28 +81,18 @@ import java.util.stream.Collectors;
 public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements OrderService {
 
     private final OrderMapper orderMapper;
-
     private final OrderRefundRecordMapper orderRefundRecordMapper;
-
     private final SkuMapper skuMapper;
     private final OrderItemMapper orderItemMapper;
     private final OrderItemService orderItemService;
-
     private final OrderSettlementService orderSettlementService;
-
     private final ProductMapper productMapper;
-
     private final ApplicationEventPublisher eventPublisher;
-
     private final OrderRefundMapper orderRefundMapper;
-
     private final PointsRecordMapper pointsRecordMapper;
-
     private final WxProviderService wxProviderService;
     private final OrderSettlementMapper orderSettlementMapper;
     private Snowflake snowflake;
-
-
     private final OrderRefundSkuMapper orderRefundSkuMapper;
 
 

+ 4 - 2
yami-shop-service/src/main/resources/mapper/OrderItemMapper.xml

@@ -30,8 +30,9 @@
 
 
     <select id="listByOrderNumber" resultType="com.yami.shop.bean.model.OrderItem">
-    	select toi.*, tor.return_money_sts, tor.refund_sn from tz_order_item toi
+    	select sku.spec,toi.*, tor.return_money_sts, tor.refund_sn from tz_order_item toi
         left JOIN tz_order_refund tor ON tor.`order_item_id` = toi.`order_item_id` AND tor.`return_money_sts` not in (6,7, -1)
+        LEFT JOIN tz_sku sku on toi.sku_id=sku.sku_id
         where toi.order_number = #{orderNumber}
     </select>
 
@@ -42,9 +43,10 @@
         </foreach>
     </update>
     <select id="getListByOrderNumber" resultType="com.yami.shop.bean.model.OrderItem">
-        SELECT r.return_money_sts,oi.* FROM tz_order_item oi
+        SELECT r.return_money_sts,sku.spec,oi.* FROM tz_order_item oi
         JOIN tz_order o ON o.order_number = oi.order_number  AND o.order_number = #{orderNumber}
         LEFT JOIN tz_order_refund r ON r.order_item_id = oi.order_item_id
+        LEFT JOIN tz_sku sku on oi.sku_id=sku.sku_id
         WHERE  r.return_money_sts != 5 OR r.return_money_sts IS NULL
     </select>
 

+ 0 - 8
yami-shop-wx/src/main/java/com/yami/shop/wx/form/BankAccountInfo.java

@@ -21,18 +21,10 @@ public class BankAccountInfo {
     @ApiModelProperty(value = "开户银行")
     public String accountBank;
 
-    @SerializedName("bank_address_code")
-    @ApiModelProperty(value = "开户银行省市编码")
-    public String bankAddressCode;
-
     @SerializedName("bank_branch_id")
     @ApiModelProperty(value = "开户银行银行号")
     public String bankBranchId;
 
-    @SerializedName("bank_name")
-    @ApiModelProperty(value = "开户银行全称(含支行)")
-    public String bankName;
-
     @SerializedName("account_number")
     @ApiModelProperty(value = "银行账号")
     public String accountNumber;

+ 47 - 0
yami-shop-wx/src/main/java/com/yami/shop/wx/form/SubmitInfoForm.java

@@ -5,6 +5,8 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.util.List;
+
 /**
  * @author kaur
  */
@@ -45,4 +47,49 @@ public class SubmitInfoForm {
     @ApiModelProperty(value = "有效期限结束日期")
     public String periodEnd;
 
+    @ApiModelProperty(value = "身份证人像面照片")
+    public String idCardCopy;
+
+    @ApiModelProperty(value = "身份证国徽面照片")
+    public String idCardNational;
+
+    @ApiModelProperty(value = "身份证姓名")
+    public String idCardName;
+
+    @ApiModelProperty(value = "身份证号码")
+    public String idCardNumber;
+
+    @ApiModelProperty(value = "身份证居住地址-主体类型为企业时,需要填写。其他主体类型,无需上传")
+    public String idCardAddress;
+
+    @ApiModelProperty(value = "身份证有效期开始时间")
+    public String cardPeriodBegin;
+
+    @ApiModelProperty(value = "身份证有效期结束时间")
+    public String cardPeriodEnd;
+
+    @ApiModelProperty(value = "商户简称")
+    public String merchantShortname;
+
+    @ApiModelProperty(value = "客服电话")
+    public String servicePhone;
+
+    @ApiModelProperty(value = "线下场所名称")
+    public String bizStoreName;
+
+    @ApiModelProperty(value = "线下场所省市编码")
+    public String bizAddressCode;
+
+    @ApiModelProperty(value = "线下场所地址")
+    public String bizStoreAddress;
+
+    @ApiModelProperty(value = "线下场所门头照片")
+    public List<String> storeEntrancePic;
+
+    @ApiModelProperty(value = "线下场所内部照片")
+    public List<String> indoorPic;
+
+    @ApiModelProperty(value = "所属行业-填写指定行业名称")
+    public String qualificationType;
+
 }

+ 59 - 32
yami-shop-wx/src/main/java/com/yami/shop/wx/service/impl/WxProviderServiceImpl.java

@@ -295,7 +295,8 @@ public class WxProviderServiceImpl implements WxProviderService {
      */
     public CloseableHttpClient httpClient() {
         WechatPayHttpClientBuilder builder = WechatPayHttpClientBuilder.create()
-                .withMerchant(wechatPayServiceConfig.getSpMchId(), wechatPayServiceConfig.getSerialNo(), getPrivateKey(wechatPayServiceConfig.getKeyPemPath()))
+                .withMerchant(wechatPayServiceConfig.getSpMchId(),
+                        wechatPayServiceConfig.getSerialNo(), getPrivateKey(wechatPayServiceConfig.getKeyPemPath()))
                 .withValidator(new WechatPay2Validator(getVerifier()));
         // 通过WechatPayHttpClientBuilder构造的HttpClient,会自动的处理签名和验签,并进行证书自动更新
         return builder.build();
@@ -565,13 +566,13 @@ public class WxProviderServiceImpl implements WxProviderService {
 
         //身份证信息
         IdCardInfo idCardInfo = new IdCardInfo();
-        idCardInfo.setIdCardCopy("身份证人像面照片");
-        idCardInfo.setIdCardNational("身份证国徽面照片");
-        idCardInfo.setIdCardName("身份证姓名");
-        idCardInfo.setIdCardNumber("身份证号码");
-        idCardInfo.setIdCardAddress("身份证居住地址-主体类型为企业时,需要填写。其他主体类型,无需上传");
-        idCardInfo.setCardPeriodBegin("身份证有效期开始时间");
-        idCardInfo.setCardPeriodEnd("身份证有效期结束时间");
+        idCardInfo.setIdCardCopy(wxUploadImg(form.getIdCardCopy()));
+        idCardInfo.setIdCardNational(wxUploadImg(form.getIdCardNational()));
+        idCardInfo.setIdCardName(rsaEncryptData(form.getIdCardName()));
+        idCardInfo.setIdCardNumber(rsaEncryptData(form.getIdCardNumber()));
+        idCardInfo.setIdCardAddress(rsaEncryptData(form.getIdCardAddress()));
+        idCardInfo.setCardPeriodBegin(form.getCardPeriodBegin());
+        idCardInfo.setCardPeriodEnd(form.getCardPeriodEnd());
         identityInfo.setIdCardInfo(idCardInfo);
         subjectInfo.setIdentityInfo(identityInfo);
         List<UBOInfoList> uboInfoList = Lists.newArrayList();
@@ -579,51 +580,63 @@ public class WxProviderServiceImpl implements WxProviderService {
         //最终受益人信息列表(UBO) 主体类型为企业时,需填写
         UBOInfoList uboInfo = new UBOInfoList();
         uboInfo.setUboIdDocType("IDENTIFICATION_TYPE_IDCARD");
-        uboInfo.setUboIdDocCopy("证件正面照片");
-        uboInfo.setUboIdDocCopyBack("证件反面照片");
-        uboInfo.setUboIdDocName("证件姓名");
-        uboInfo.setUboIdDocNumber("证件号码");
-        uboInfo.setUboIdDocAddress("证件居住地址");
-        uboInfo.setUboPeriodBegin("证件有效期开始时间");
-        uboInfo.setUboPeriodEnd("证件有效期结束时间");
+        uboInfo.setUboIdDocCopy(wxUploadImg(form.getIdCardCopy()));
+        uboInfo.setUboIdDocCopyBack(wxUploadImg(form.getIdCardNational()));
+        uboInfo.setUboIdDocName(rsaEncryptData(form.getIdCardName()));
+        uboInfo.setUboIdDocNumber(rsaEncryptData(form.getIdCardNumber()));
+        uboInfo.setUboIdDocAddress(rsaEncryptData(form.getIdCardAddress()));
+        uboInfo.setUboPeriodBegin(form.getCardPeriodBegin());
+        uboInfo.setUboPeriodEnd(form.getCardPeriodEnd());
         uboInfoList.add(uboInfo);
         subjectInfo.setUboInfoList(uboInfoList);
         submitInfo.setSubjectInfo(subjectInfo);
 
         //经营资料
         BusinessInfo businessInfo = new BusinessInfo();
-        businessInfo.setMerchantShortname("商户简称");
-        businessInfo.setServicePhone("客服电话");
+        businessInfo.setMerchantShortname(form.getMerchantShortname());
+        businessInfo.setServicePhone(form.getServicePhone());
+
+        //经营场景
         SalesInfo salesInfo = new SalesInfo();
+        salesInfo.setSalesScenesType(Lists.newArrayList("SALES_SCENES_STORE","SALES_SCENES_MINI_PROGRAM"));
+
+        //线下场所场景
         StoreInfo storeInfo = new StoreInfo();
-        storeInfo.setBizStoreName("线下场所名称");
-        storeInfo.setBizAddressCode("线下场所省市编码");
-        storeInfo.setBizStoreAddress("线下场所地址");
-        storeInfo.setStoreEntrancePic(Lists.newArrayList("线下场所门头照片"));
-        storeInfo.setIndoorPic(Lists.newArrayList("线下场所内部照片"));
-        storeInfo.setBizSubAppid("线下场所对应的商家AppID");
+        storeInfo.setBizStoreName(form.getBizStoreName());
+        storeInfo.setBizAddressCode(form.getBizAddressCode());
+        storeInfo.setBizStoreAddress(form.getBizStoreAddress());
+
+        storeInfo.setStoreEntrancePic(wxUploadImgList(Lists.newArrayList(form.getStoreEntrancePic())));
+        storeInfo.setIndoorPic(wxUploadImgList(Lists.newArrayList(form.getIndoorPic())));
+
+        storeInfo.setBizSubAppid("wx472b8557b46b80c2");
         salesInfo.setBizStoreInfo(storeInfo);
+
+        //小程序场景
         MiniProgramInfo miniProgramInfo = new MiniProgramInfo();
-        miniProgramInfo.setMiniProgramAppid("服务商小程序AppID");
-        miniProgramInfo.setMiniProgramSubAppid("商家小程序AppID");
-        miniProgramInfo.setMiniProgramPics(Lists.newArrayList("小程序截图"));
+        miniProgramInfo.setMiniProgramAppid("wx84ac4c97670ae96f");
+        miniProgramInfo.setMiniProgramSubAppid("wx472b8557b46b80c2");
+        miniProgramInfo.setMiniProgramPics(wxUploadImgList(Lists.newArrayList("小程序截图")));
         salesInfo.setMiniProgramInfo(miniProgramInfo);
         businessInfo.setSalesInfo(salesInfo);
         submitInfo.setBusinessInfo(businessInfo);
 
+        //结算规则
         SettlementInfo settlementInfo = new SettlementInfo();
-        settlementInfo.setSettlementId("入驻结算规则ID");
-        settlementInfo.setQualificationType("所属行业-填写指定行业名称");
+        settlementInfo.setSettlementId(form.getSubjectType().equals("SUBJECT_TYPE_INDIVIDUAL") ? "719" : "716");
+        settlementInfo.setQualificationType(form.getQualificationType());
         submitInfo.setSettlementInfo(settlementInfo);
 
+        //结算银行账户
         BankAccountInfo bankAccountInfo = new BankAccountInfo();
         bankAccountInfo.setBankAccountType("对公银行账户/经营者个人银行卡");
-        bankAccountInfo.setAccountName("开户名称");
+        bankAccountInfo.setAccountName(rsaEncryptData("开户名称"));
+
+        //开户银行-对私银行列表-对公银行列表-是否需要填写支行字段-bank_alias_code
         bankAccountInfo.setAccountBank("开户银行");
-        bankAccountInfo.setBankAddressCode("开户银行省市编码");
+        //查询接口
         bankAccountInfo.setBankBranchId("开户银行银行号");
-        bankAccountInfo.setBankName("开户银行全称(含支行)");
-        bankAccountInfo.setAccountNumber("银行账号");
+        bankAccountInfo.setAccountNumber(rsaEncryptData("银行账号"));
         submitInfo.setBankAccountInfo(bankAccountInfo);
         Gson gson = new Gson();
         String json = gson.toJson(submitInfo);
@@ -638,6 +651,20 @@ public class WxProviderServiceImpl implements WxProviderService {
         return data;
     }
 
+    private static List<String> wxUploadImgList(List<String> imgList) {
+        List<String> wxImgList = Lists.newArrayList();
+        for (String img : imgList) {
+            wxImgList.add(wxUploadImg(img));
+        }
+        return wxImgList;
+    }
+
+    private static String toDataImgList(List<String> imgList) {
+        return String.join(",", imgList);
+    }
+
+
     public static void main(String[] args) {
+
     }
 }