Browse Source

更新物流信息

zhangwl 1 month ago
parent
commit
95af6df8f7

+ 20 - 0
src/main/java/zs/payment/dto/OrderExpressUpdateDTO.java

@@ -0,0 +1,20 @@
+package zs.payment.dto;
+
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+@Setter
+@Getter
+@NoArgsConstructor
+public class OrderExpressUpdateDTO {
+    //企云商城的订单编号
+    private String ordersn;
+    // 物流编号
+    private String expressNo;
+    // 物流编码
+    private String companyCode;
+    // 公司
+    private String companyName;
+
+}

+ 604 - 0
src/main/java/zs/payment/entity/mysql/ImsEweiShopOrder.java

@@ -0,0 +1,604 @@
+package zs.payment.entity.mysql;
+
+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.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+
+/**
+ * 自研系统订单
+ */
+@Setter
+@Getter
+@NoArgsConstructor
+@TableName("ims_ewei_shop_order")
+public class ImsEweiShopOrder {
+
+    @TableId(type = IdType.AUTO)
+    @TableField("id")
+    private Integer id;
+
+    @TableField("uniacid")
+    private Integer uniacid;  // 公众号id
+
+    @TableField("openid")
+    private String openid;  // 用户openid
+
+    @TableField("agentid")
+    private Integer agentid;  // 代理ID
+
+    @TableField("ordersn")
+    private String ordersn;  // 订单号 SH 正常订单 RC 充值订单 DH 兑换订单 LE久猪租赁订单
+
+    @TableField("price")
+    private BigDecimal price;  // 应收款 订单金额(含运费)
+
+    @TableField("goodscostprice")
+    private BigDecimal goodscostprice;  // 进货成本价
+
+    @TableField("goodsprice")
+    private BigDecimal goodsprice;  // 商品金额
+
+    @TableField("fullprice")
+    private BigDecimal fullprice;  // 定金购全额支付价格/拍卖参考价
+
+    @TableField("discountprice")
+    private BigDecimal discountprice;  // 会员折扣
+
+    @TableField("status")
+    private Integer status;  // -1取消状态,0未付款,1为已付款(久猪租赁1租赁中),2为已发货,3已完成(成功租赁状态)20:待归还21待审核
+
+    @TableField("paytype")
+    private Integer paytype;  // 1 余额支付; 3 货到付款; 11 后台付款 13云悦微信支付 12 云悦支付宝支付 21 微信支付; 22 支付宝支付; 23银联支付 27云悦余额 28零钱单一支付 29 本币单一支付 30首信易钱包 37 收银台付款
+
+    @TableField("transid")
+    private String transid;  // 微信支付单号
+
+    @TableField("remark")
+    private String remark;  // 买家备注
+
+    @TableField("addressid")
+    private Integer addressid;  // 地址ID
+
+    @TableField("dispatchprice")
+    private BigDecimal dispatchprice;  // 运费
+
+    @TableField("dispatchid")
+    private Integer dispatchid;  // 配送方式ID
+
+    @TableField("createtime")
+    private Integer createtime;  // 建立时间
+
+    @TableField("dispatchtype")
+    private Integer dispatchtype;  // 0 运费模板 1 统一邮费
+
+    @TableField("carrier")
+    private String carrier;  // 自提联系人信息
+
+    @TableField("refundid")
+    private Integer refundid;  // 退款申请ID 退款申请处理后清0
+
+    @TableField("iscomment")
+    private Integer iscomment;  // 评价状态 status 3,4 后允许评价 0 可评价 1 可追加评价 2 已评价
+
+    @TableField("creditadd")
+    private Integer creditadd;  // 积分赠送
+
+    @TableField("deleted")
+    private Integer deleted;  // 删除 1是 0否
+
+    @TableField("userdeleted")
+    private Integer userdeleted;  // 用户删除 1是 0否
+
+    @TableField("finishtime")
+    private Integer finishtime;  // 交易完成时间
+
+    @TableField("paytime")
+    private Integer paytime;  // 支付时间
+
+    @TableField("expresscom")
+    private String expresscom;  // 快递公司
+
+    @TableField("expresssn")
+    private String expresssn;  // 快递单号
+
+    @TableField("express")
+    private String express;  // 快递
+
+    @TableField("sendtime")
+    private Integer sendtime;  // 发送时间
+
+    @TableField("fetchtime")
+    private Integer fetchtime;  // 自提时间
+
+    @TableField("cash")
+    private Integer cash;  // 现付 货到付款
+
+    @TableField("canceltime")
+    private Integer canceltime;  // 取消时间
+
+    @TableField("cancelpaytime")
+    private Integer cancelpaytime;  // 取消支付时间
+
+    @TableField("refundtime")
+    private Integer refundtime;  // 退款时间
+
+    @TableField("isverify")
+    private Integer isverify;  // 核销
+
+    @TableField("verified")
+    private Integer verified;  // 确认使用核销
+
+    @TableField("verifyopenid")
+    private String verifyopenid;  // 核销人
+
+    @TableField("verifytime")
+    private Integer verifytime;  // 核销时间
+
+    @TableField("verifycode")
+    private String verifycode;  // 核销码
+
+    @TableField("verifystoreid")
+    private Integer verifystoreid;  // 核销门店
+
+    @TableField("deductprice")
+    private BigDecimal deductprice;
+
+    @TableField("deductcredit")
+    private Integer deductcredit;  // 积分抵扣
+
+    @TableField("deductcredit2")
+    private BigDecimal deductcredit2;  // 余额抵扣
+
+    @TableField("deductenough")
+    private BigDecimal deductenough;  // 满额优惠
+
+    @TableField("`virtual`")
+    private Integer virtualVar;  // 虚拟物品id
+
+    @TableField("virtual_info")
+    private String virtualInfo;  // 虚拟物品信息
+
+    @TableField("virtual_str")
+    private String virtualStr;  // 虚拟物品字串
+
+    @TableField("address")
+    private String address;  // 收货地址
+
+    @TableField("sysdeleted")
+    private Integer sysdeleted;  // 系统删除
+
+    @TableField("ordersn2")
+    private Integer ordersn2;  // 改价次数 限制99以内,支付订单号时会增加 GJ + 此号
+
+    @TableField("changeprice")
+    private BigDecimal changeprice;  // 订单改价金额
+
+    @TableField("changedispatchprice")
+    private BigDecimal changedispatchprice;  // 运费改价
+
+    @TableField("oldprice")
+    private BigDecimal oldprice;  // 原订单金额(含运费);久猪订单金额
+
+    @TableField("olddispatchprice")
+    private BigDecimal olddispatchprice;  // 原运费
+
+    @TableField("isvirtual")
+    private Integer isvirtual;  // 是虚拟物品
+
+    @TableField("couponid")
+    private Integer couponid;  // 优惠券ID
+
+    @TableField("couponprice")
+    private BigDecimal couponprice;  // 优惠券价格
+
+    @TableField("diyformdata")
+    private String diyformdata;  // 自定义表单数据
+
+    @TableField("diyformfields")
+    private String diyformfields;  // 自定义表单字段
+
+    @TableField("diyformid")
+    private Integer diyformid;  // 自定义表单ID
+
+    @TableField("storeid")
+    private Integer storeid;  // 自提点id
+
+    @TableField("closereason")
+    private String closereason;  // v2及以上版本 订单取消原因
+
+    @TableField("remarksaler")
+    private String remarksaler;  // v2及以上版本 卖家备注
+
+    @TableField("printstate")
+    private Integer printstate;  // 快递单打印状态 0 未 >0 多次
+
+    @TableField("printstate2")
+    private Integer printstate2;  // 发货单打印状态 0 未 >0 多次
+
+    @TableField("address_send")
+    private String addressSend;  // 发货人地址信息
+
+    @TableField("refundstate")
+    private Integer refundstate;  // 退款状态 -1整单完成过维权 0没有维权状态 1整单退款 2整单换货 3单商品维权
+
+    @TableField("remarkclose")
+    private String remarkclose;  // 订单关闭备注
+
+    @TableField("remarksend")
+    private String remarksend;  // v2及以上版本 取消发货备注
+
+    @TableField("ismr")
+    private Integer ismr;  // 是否充值订单
+
+    @TableField("isdiscountprice")
+    private BigDecimal isdiscountprice;  // v2及以上版本 折扣价
+
+    @TableField("isvirtualsend")
+    private Integer isvirtualsend;  // v2及以上版本 自动发货
+
+    @TableField("virtualsend_info")
+    private String virtualsendInfo;  // v2及以上版本 自动发货信息
+
+    @TableField("verifyinfo")
+    private String verifyinfo;  // v2及以上版本 线下核销信息 如核销时间,核销人等
+
+    @TableField("verifytype")
+    private Integer verifytype;  // v2及以上版本 线下核销类型 0 按订单核销 1 按次核销 2 按消费码核销
+
+    @TableField("verifycodes")
+    private String verifycodes;  // v2及以上版本 消费码集合
+
+    @TableField("merchid")
+    private Integer merchid;  // 多商户ID
+
+    @TableField("invoicename")
+    private String invoicename;  // v2及以上版本 发货单名字
+
+    @TableField("ismerch")
+    private Integer ismerch;  // 是否为多商户订单
+
+    @TableField("parentid")
+    private Integer parentid;  // 父订单id
+
+    @TableField("isparent")
+    private Integer isparent;  // 是否为父订单
+
+    @TableField("grprice")
+    private BigDecimal grprice;  // 商品实际总价
+
+    @TableField("merchshow")
+    private Integer merchshow;  // 是否显示多商户订单
+
+    @TableField("merchdeductenough")
+    private BigDecimal merchdeductenough;  // 商户满减
+
+    @TableField("couponmerchid")
+    private Integer couponmerchid;  // 商户优惠券
+
+    @TableField("isglobonus")
+    private Integer isglobonus;  // 是否是股东 0否 1是
+
+    @TableField("merchapply")
+    private Integer merchapply;  // 商户结算状态 -1拒绝 1申请 2通过 3打款
+
+    @TableField("isabonus")
+    private Integer isabonus;  // 参与分红
+
+    @TableField("isborrow")
+    private Integer isborrow;  // 借用支付
+
+    @TableField("borrowopenid")
+    private String borrowopenid;  // 借用支付openid
+
+    @TableField("apppay")
+    private Integer apppay;  // app付款
+
+    @TableField("coupongoodprice")
+    private BigDecimal coupongoodprice;  // 使用优惠卷的商品总价
+
+    @TableField("buyagainprice")
+    private BigDecimal buyagainprice;  // 二次购买优惠价格
+
+    @TableField("ispackage")
+    private Integer ispackage;  // 是否套餐
+
+    @TableField("packageid")
+    private Integer packageid;  // 套餐ID
+
+    @TableField("taskdiscountprice")
+    private BigDecimal taskdiscountprice;  // 任务活动优惠
+
+    @TableField("merchisdiscountprice")
+    private BigDecimal merchisdiscountprice;  // 商户折扣价格
+
+    @TableField("seckilldiscountprice")
+    private BigDecimal seckilldiscountprice;  // 秒杀折扣价
+
+    @TableField("verifyendtime")
+    private Integer verifyendtime;  // 核销使用期限
+
+    @TableField("willcancelmessage")
+    private Integer willcancelmessage;  // 是否已发送即将关闭通知
+
+    @TableField("sendtype")
+    private Integer sendtype;  // 是否为包裹发货
+
+    @TableField("lotterydiscountprice")
+    private BigDecimal lotterydiscountprice;  // 游戏系统优惠
+
+    @TableField("contype")
+    private Integer contype;  // 优惠券类型
+
+    @TableField("wxid")
+    private Integer wxid;  // 微信id
+
+    @TableField("wxcardid")
+    private String wxcardid;  // 微信会员卡ID
+
+    @TableField("wxcode")
+    private String wxcode;  // 微信卡券code码
+
+    @TableField("dispatchkey")
+    private String dispatchkey;  // 快递Key值
+
+    @TableField("quickid")
+    private Integer quickid;  // 快速购买id
+
+    @TableField("istrade")
+    private Integer istrade;  // 是否交易 1是 0否
+
+    @TableField("isnewstore")
+    private Integer isnewstore;
+
+    @TableField("liveid")
+    private Integer liveid;  // 互动直播ID
+
+    @TableField("ordersn_trade")
+    private String ordersnTrade;  // 支付的交易订单号
+
+    @TableField("tradestatus")
+    private Integer tradestatus;  // 交易状态
+
+    @TableField("tradepaytype")
+    private Integer tradepaytype;  // 交易支付类型
+
+    @TableField("tradepaytime")
+    private Integer tradepaytime;  // 交易支付时间
+
+    @TableField("dowpayment")
+    private BigDecimal dowpayment;  // 预付定金
+
+    @TableField("betweenprice")
+    private BigDecimal betweenprice;  // 区间价格
+
+    @TableField("isshare")
+    private Integer isshare;  // 此订单是否已分享 0未分享,1已分享
+
+    @TableField("officcode")
+    private String officcode;
+
+    @TableField("wxapp_prepay_id")
+    private String wxappPrepayId;  // 小程序微信支付prepay_id
+
+    @TableField("iswxappcreate")
+    private Integer iswxappcreate;  // 是否是小程序订单
+
+    @TableField("cashtime")
+    private Integer cashtime;  // 货到付款时间
+
+    @TableField("random_code")
+    private String randomCode;  // 提交订单时的随机码,解决订单号重复的问题
+
+    @TableField("print_template")
+    private String printTemplate;  // 快递鸟返回的电子面单模版
+
+    @TableField("city_express_state")
+    private Integer cityExpressState;  // 是否支持同城配送
+
+    @TableField("is_cashier")
+    private Integer isCashier;  // 是否是收银台订单 0否 1是
+
+    @TableField("commissionmoney")
+    private BigDecimal commissionmoney;
+
+    @TableField("iscycelbuy")
+    private Integer iscycelbuy;
+
+    @TableField("cycelbuy_predict_time")
+    private Integer cycelbuyPredictTime;
+
+    @TableField("cycelbuy_periodic")
+    private String cycelbuyPeriodic;
+
+    @TableField("invoice_img")
+    private String invoiceImg;
+
+    @TableField("headsid")
+    private Integer headsid;  // 归属团长id
+
+    @TableField("dividend")
+    private String dividend;  // 应得分红,分成比率(序列化数据)
+
+    @TableField("dividend_applytime")
+    private Integer dividendApplytime;  // 分红提现申请时间
+
+    @TableField("dividend_checktime")
+    private Integer dividendChecktime;  // 分红提现申请审核时间
+
+    @TableField("dividend_paytime")
+    private Integer dividendPaytime;  // 分红提现申请打款时间
+
+    @TableField("dividend_invalidtime")
+    private Integer dividendInvalidtime;  // 分红提现申请拒绝时间
+
+    @TableField("dividend_deletetime")
+    private Integer dividendDeletetime;  // 分红提现申请删除时间
+
+    @TableField("dividend_status")
+    private Integer dividendStatus;
+
+    @TableField("dividend_content")
+    private String dividendContent;  // 分红备注
+
+    @TableField("commoditytype")
+    private Integer commoditytype;  // 是否是进货 1
+
+    @TableField("issupply")
+    private Integer issupply;  // 是否是供货 1是
+
+    @TableField("ymall_flag")
+    private Integer ymallFlag;  // -2为失败1成功0为默认
+
+    @TableField("ym_shipping_id")
+    private Integer ymShippingId;  // 云商城快递id
+
+    @TableField("coin")
+    private BigDecimal coin;  // 联盟币/本币数
+
+    @TableField("exchange_rate")
+    private BigDecimal exchangeRate;  // 币汇率
+
+    @TableField("pfappname")
+    private String pfappname;  // 壳子云悦标志
+
+    @TableField("appname")
+    private String appname;  // 云悦名称-壳子云悦名称
+
+    @TableField("kz_pfappname")
+    private String kzPfappname;  // 绑定云悦唯一id
+
+    @TableField("kz_appname")
+    private String kzAppname;  // 绑定云悦名称
+
+    @TableField("coinname")
+    private String coinname;  // 币名称
+
+    @TableField("rentbuy_deposit")
+    private BigDecimal rentbuyDeposit;  // 租赁押金
+
+    @TableField("isrentbuy")
+    private Integer isrentbuy;  // 是否是租赁订单1是;久猪租赁类型2租赁 3全额购买
+
+    @TableField("rentbuy_costprice")
+    private BigDecimal rentbuyCostprice;  // 租赁押金;久猪租赁押金
+
+    @TableField("rentbuy_day")
+    private String rentbuyDay;  // 租赁日期;久猪租赁付款周期(月)
+
+    @TableField("username")
+    private String username;  // 云悦用户名
+
+    @TableField("userid")
+    private Integer userid;  // 云悦用户id
+
+    @TableField("flag")
+    private Integer flag;  // 任务执行0 未执行1执行成功2执行失败(带领者插入分账数据3执行成功4无分账金额,执行失败)
+
+    @TableField("refund_flag")
+    private Integer refundFlag;  // 退款订单任务执行  0 未执行1执行成功2执行失败
+
+    @TableField("flagtime")
+    private java.util.Date flagtime;  // 执行时间
+
+    @TableField("rentbuy_courier")
+    private String rentbuyCourier;  // 租赁归还时快递信息
+
+    @TableField("rentbuy_returnprice")
+    private BigDecimal rentbuyReturnprice;  // 退还押金金额;久猪租赁退还押金金额
+
+    @TableField("rentbuy_remark")
+    private String rentbuyRemark;  // 押金扣除说明
+
+    @TableField("rentbuy_time")
+    private Integer rentbuyTime;  // 租赁退押金审核时间
+
+    @TableField("lmb_hl")
+    private BigDecimal lmbHl;  // 联盟币汇率
+
+    @TableField("lmb_num")
+    private BigDecimal lmbNum;  // 联盟币抵扣数量
+
+    @TableField("benbi_hl")
+    private BigDecimal benbiHl;  // 本币汇率
+
+    @TableField("benbi_num")
+    private BigDecimal benbiNum;  // 积分币抵扣数量
+
+    @TableField("blend_pay")
+    private Integer blendPay;  // 是否是混合支付 1是
+
+    @TableField("is_h5")
+    private Integer isH5;  // 1平台收款 2自主收款
+
+    @TableField("jstype")
+    private Integer jstype;  // 多商户结算0默认余额结算1积分币结算
+
+    @TableField("jsstatus")
+    private Integer jsstatus;  // 积分币(久猪租赁成本价)结算类型0未结算1已结算
+
+    @TableField("shareuserid")
+    private Integer shareuserid;  // 订单下单商品的分享人云悦id
+
+    @TableField("shequn")
+    private String shequn;  // 下单来源社群,不是社群则为空
+
+    @TableField("sharepfappname")
+    private String sharepfappname;  // 下单来源app,分享来的,和主动下单app,分账app
+
+    @TableField("deposittype")
+    private Integer deposittype;  // 定金购订单类型 1定金 2全款 3尾款
+
+    @TableField("depositstatus")
+    private Integer depositstatus;  // 尾款订单是否支付
+
+    @TableField("isauction")
+    private Integer isauction;  // 拍卖订单1 易拍即得-拍卖订单2 拼拍订单3 会员指定商品订单4 直播订单5盲盒订单6盲盒运费订单7 久猪租赁 订单8
+
+    @TableField("ymall_ordersn")
+    private String ymallOrdersn;  // 云商城单号/星链订单号
+
+    @TableField("isnewpay")
+    private Integer isnewpay;  // 是否是新版支付订单
+
+    @TableField("jfb_reward_status")
+    private Integer jfbRewardStatus;  // 自购积分币奖励是否发放1已发放2发放未成功3不发放
+
+    @TableField("jswayprice")
+    private BigDecimal jswayprice;  // 多商户现金结算类型0订单结算无需结算价格,大于0供应金额(久猪租赁大于0是成本价结算)
+
+    @TableField("ordertype")
+    private Integer ordertype;  // 订单类型1星链订单2线下已付款订单(木兰荟)
+
+    @TableField("advjfb")
+    private BigDecimal advjfb;  // 共富时代广告积分兑换金额
+
+    @TableField("level_reward_status")
+    private Integer levelRewardStatus;  // 会员等级返佣积分余额是否发放
+
+    @TableField("gift_userid")
+    private Integer giftUserid;  // 被赠送人id(木兰荟)
+
+    @TableField("gift_username")
+    private String giftUsername;  // 被赠送人账号(木兰荟)
+
+    @TableField("level_jfb_status")
+    private Integer levelJfbStatus;  // 商品会员等级积分币奖励是否发放1已发放2发放未成功3不发放
+
+    @TableField("serviceid")
+    private Integer serviceid;  // 久猪租赁售后申请ID(安装、维修、退租)
+
+    @TableField("golden_num")
+    private BigDecimal goldenNum;  // 久猪租赁金豆抵扣数量
+
+    @TableField("golden_beans")
+    private Integer goldenBeans;  // 久猪租赁赠送金豆数量
+
+    @TableField("openid_wx")
+    private String openidWx;
+}

+ 10 - 0
src/main/java/zs/payment/mapper/primary/ImsEweiShopOrderMapper.java

@@ -0,0 +1,10 @@
+package zs.payment.mapper.primary;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import zs.payment.entity.mysql.ImsEweiShopOrder;
+
+@Mapper
+public interface ImsEweiShopOrderMapper extends BaseMapper<ImsEweiShopOrder> {
+
+}

+ 2 - 2
src/main/java/zs/payment/messages/KafkaConsumer.java

@@ -359,12 +359,12 @@ public class KafkaConsumer {
     //------------订单----------------
     //------------订单----------------
 
 
     /**
     /**
-     * 订单发货
+     * 物流订单发货
      *
      *
      * @param messsage
      * @param messsage
      */
      */
     @KafkaListener(
     @KafkaListener(
-        topics = "goods.delivery",
+        topics = "order.delivery",
         groupId = "pay2-group"
         groupId = "pay2-group"
     )
     )
     public void goodsDelivery(String orderSn) {
     public void goodsDelivery(String orderSn) {

+ 10 - 0
src/main/java/zs/payment/service/imseweishoporder/ImsEweiShopOrderService.java

@@ -0,0 +1,10 @@
+package zs.payment.service.imseweishoporder;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import zs.payment.dto.OrderExpressUpdateDTO;
+import zs.payment.entity.mysql.ImsEweiShopOrder;
+
+public interface ImsEweiShopOrderService extends IService<ImsEweiShopOrder> {
+
+    Boolean updateExpressByOrdersn(OrderExpressUpdateDTO dto);
+}

+ 23 - 0
src/main/java/zs/payment/service/imseweishoporder/impl/ImsEweiShopOrderServiceImpl.java

@@ -0,0 +1,23 @@
+package zs.payment.service.imseweishoporder.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+import zs.payment.dto.OrderExpressUpdateDTO;
+import zs.payment.entity.mysql.ImsEweiShopOrder;
+import zs.payment.mapper.primary.ImsEweiShopOrderMapper;
+import zs.payment.service.imseweishoporder.ImsEweiShopOrderService;
+
+
+@Slf4j
+@Service
+public class ImsEweiShopOrderServiceImpl extends ServiceImpl<ImsEweiShopOrderMapper, ImsEweiShopOrder>implements ImsEweiShopOrderService {
+    @Override
+    public Boolean updateExpressByOrdersn(OrderExpressUpdateDTO dto) {
+
+        return lambdaUpdate().eq(ImsEweiShopOrder::getOrdersn, dto.getOrdersn())
+            .set(ImsEweiShopOrder::getExpress, dto.getCompanyCode())
+            .set(ImsEweiShopOrder::getExpresscom, dto.getCompanyName())
+            .set(ImsEweiShopOrder::getExpresssn, dto.getOrdersn()).update();
+    }
+}

+ 32 - 27
src/main/java/zs/payment/service/supply/paysupply/impl/PaySupplyServiceImpl.java

@@ -7,7 +7,9 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.util.ObjectUtils;
 import org.springframework.util.ObjectUtils;
+
 import zs.payment.dto.AfterSalesDTO;
 import zs.payment.dto.AfterSalesDTO;
+import zs.payment.dto.OrderExpressUpdateDTO;
 import zs.payment.dto.OrderItemDTO;
 import zs.payment.dto.OrderItemDTO;
 import zs.payment.entity.mongodb.supply.Orders;
 import zs.payment.entity.mongodb.supply.Orders;
 import zs.payment.exception.ApiException;
 import zs.payment.exception.ApiException;
@@ -17,6 +19,7 @@ import zs.payment.req.aftersales.AfterSalesOrderReq;
 import zs.payment.req.aftersales.AfterSalesOrderTypeReq;
 import zs.payment.req.aftersales.AfterSalesOrderTypeReq;
 import zs.payment.resp.Result;
 import zs.payment.resp.Result;
 
 
+import zs.payment.service.imseweishoporder.ImsEweiShopOrderService;
 import zs.payment.service.order.OrdersService;
 import zs.payment.service.order.OrdersService;
 import zs.payment.service.supply.order.OrderSupplyService;
 import zs.payment.service.supply.order.OrderSupplyService;
 import zs.payment.service.supply.paysupply.PaySupplyService;
 import zs.payment.service.supply.paysupply.PaySupplyService;
@@ -45,6 +48,9 @@ public class PaySupplyServiceImpl implements PaySupplyService {
     @Autowired
     @Autowired
     private OrdersService ordersService;
     private OrdersService ordersService;
 
 
+    @Autowired
+    private ImsEweiShopOrderService imsEweiShopOrderService;
+
 
 
     @Override
     @Override
     public Result orderPayOnly(OrderPayReq req) {
     public Result orderPayOnly(OrderPayReq req) {
@@ -71,7 +77,6 @@ public class PaySupplyServiceImpl implements PaySupplyService {
     }
     }
 
 
 
 
-
     @Override
     @Override
     public Result getAfterSalesTypeNameMap(AfterSalesOrderTypeReq req) {
     public Result getAfterSalesTypeNameMap(AfterSalesOrderTypeReq req) {
         Map<String, String> headers = supplyTokenService.buildAuthHeaders();
         Map<String, String> headers = supplyTokenService.buildAuthHeaders();
@@ -81,7 +86,7 @@ public class PaySupplyServiceImpl implements PaySupplyService {
 
 
         Map<String, Object> params = new HashMap<>();
         Map<String, Object> params = new HashMap<>();
         params.put("order_id", req.getOrderId());
         params.put("order_id", req.getOrderId());
-        params.put("order_item_id",req.getOrderItemId());
+        params.put("order_item_id", req.getOrderItemId());
 
 
         String resp = HttpUtil.restTemplateGet(prefixUrl + "/supplyapi/app/afterSales/getAfterSalesTypeNameMap", params, headers);
         String resp = HttpUtil.restTemplateGet(prefixUrl + "/supplyapi/app/afterSales/getAfterSalesTypeNameMap", params, headers);
         JSONObject respJson = JSONObject.parseObject(resp);
         JSONObject respJson = JSONObject.parseObject(resp);
@@ -106,36 +111,36 @@ public class PaySupplyServiceImpl implements PaySupplyService {
                 OrderItemDTO item = orders.getOrderItems().get(i);
                 OrderItemDTO item = orders.getOrderItems().get(i);
                 Map<String, Object> params = new HashMap<>();
                 Map<String, Object> params = new HashMap<>();
                 params.put("third_order_sn", req.getOrderSn());
                 params.put("third_order_sn", req.getOrderSn());
-                params.put("is_received",req.getIsReceived());
-                params.put("order_item_id",item.getId());
+                params.put("is_received", req.getIsReceived());
+                params.put("order_item_id", item.getId());
                 //退款总额不为空
                 //退款总额不为空
-                params.put("amount",item.getAmount());
+                params.put("amount", item.getAmount());
                 //技术服务费
                 //技术服务费
-                params.put("technical_services_fee",orders.getTechnicalServicesFee());
+                params.put("technical_services_fee", orders.getTechnicalServicesFee());
                 //运费
                 //运费
-                params.put("freight",orders.getFreight());
-                if (!ObjectUtils.isEmpty(req.getRefundType())){
+                params.put("freight", orders.getFreight());
+                if (!ObjectUtils.isEmpty(req.getRefundType())) {
                     // 退款方式: "0": "退款",  "1": "退货退款"
                     // 退款方式: "0": "退款",  "1": "退货退款"
-                    params.put("refund_type",req.getRefundType());
+                    params.put("refund_type", req.getRefundType());
                 }
                 }
 
 
                 String resp = HttpUtil.restTemplatePost(prefixUrl + "/supplyapi/app/afterSales/create", params, headers);
                 String resp = HttpUtil.restTemplatePost(prefixUrl + "/supplyapi/app/afterSales/create", params, headers);
                 JSONObject respJson = JSONObject.parseObject(resp);
                 JSONObject respJson = JSONObject.parseObject(resp);
                 if (respJson.getIntValue("code") != 0) {
                 if (respJson.getIntValue("code") != 0) {
-                    log.error("--第三方订单编号{}申请售后失败,错误原因---",req.getOrderSn(),respJson.getString("msg"));
-                    throw new ApiException(req.getOrderSn()+"申请售后失败");
+                    log.error("--第三方订单编号{}申请售后失败,错误原因---", req.getOrderSn(), respJson.getString("msg"));
+                    throw new ApiException(req.getOrderSn() + "申请售后失败");
                 }
                 }
 
 
                 //todo 将申请售后id存储到Orders表中,方便后续通过第三方订单编号取消申请售后
                 //todo 将申请售后id存储到Orders表中,方便后续通过第三方订单编号取消申请售后
-                log.info("----申请售后成功,返回了{}------",respJson.get("data"));
-                AfterSalesDTO afterSalesDTO=new AfterSalesDTO();
+                log.info("----申请售后成功,返回了{}------", respJson.get("data"));
+                AfterSalesDTO afterSalesDTO = new AfterSalesDTO();
                 afterSalesDTO.setId(respJson.getInteger("data"));
                 afterSalesDTO.setId(respJson.getInteger("data"));
                 item.setAfter_sales(afterSalesDTO);
                 item.setAfter_sales(afterSalesDTO);
 
 
             }
             }
             //保存order
             //保存order
             ordersService.saveOrders(orders);
             ordersService.saveOrders(orders);
-        }else {
+        } else {
             return Result.fail("订单不存在");
             return Result.fail("订单不存在");
         }
         }
 
 
@@ -186,23 +191,23 @@ public class PaySupplyServiceImpl implements PaySupplyService {
         JSONArray array = respJson.getJSONArray("data");
         JSONArray array = respJson.getJSONArray("data");
         //获取物流中的物流编号+物流编码
         //获取物流中的物流编号+物流编码
 
 
-        for (int i = 0; i < array.size(); i++) {
-            //物流编号
-            String expressNo = array.getJSONObject(i).getString("express_no");
-            //物流编码
-            String companyCode = array.getJSONObject(i).getString("company_code");
-            //todo 更新自研系统的物流
-
-
-
-
-
-        }
+        // 物流编号
+        String expressNo = array.getJSONObject(0).getString("express_no");
+        // 物流编码
+        String companyCode = array.getJSONObject(0).getString("company_code");
+        // 公司
+        String companyName = array.getJSONObject(0).getString("company_name");
 
 
+        OrderExpressUpdateDTO dto = new OrderExpressUpdateDTO();
+        dto.setOrdersn(orderSn);
+        dto.setExpressNo(expressNo);
+        dto.setCompanyCode(companyCode);
+        dto.setCompanyName(companyName);
 
 
+        Boolean b = imsEweiShopOrderService.updateExpressByOrdersn(dto);
 
 
 
 
 
 
-        return Result.success(respJson.getJSONArray("data"));
+        return Result.success(b);
     }
     }
 }
 }