李学强 hai 2 meses
pai
achega
63c7a2f19a

+ 18 - 0
lhb-basic/lhb-basic-api/src/main/java/com/kxs/lhb/basic/api/dto/yiyang/YWQueryFirstOrderReq.java

@@ -0,0 +1,18 @@
+package com.kxs.lhb.basic.api.dto.yiyang;
+
+import lombok.Builder;
+import lombok.Data;
+
+/**
+ * 首充结果查询接口
+ *
+ * @author 没秃顶的码农
+ * @date 2024-10-18
+ */
+@Data
+@Builder
+public class YWQueryFirstOrderReq {
+
+    private String phoneNumber;
+
+}

+ 20 - 0
lhb-basic/lhb-basic-api/src/main/java/com/kxs/lhb/basic/api/dto/yiyang/YWQueryOrderReq.java

@@ -0,0 +1,20 @@
+package com.kxs.lhb.basic.api.dto.yiyang;
+
+import lombok.Builder;
+import lombok.Data;
+
+/**
+ * 查询订单状态
+ *
+ * @author 没秃顶的码农
+ * @date 2024-10-18
+ */
+@Data
+@Builder
+public class YWQueryOrderReq {
+
+    private String orderId;
+    private String phone;
+    private String userId;
+
+}

+ 3 - 3
lhb-basic/lhb-basic-biz/src/main/java/com/kxs/lhb/basic/biz/channel/BasicService.java

@@ -40,7 +40,7 @@ public interface BasicService extends Ordered {
     /**
      * 提交订单API
      */
-    String orderSubmit(String orderSn);
+    String orderSubmit(LhbOrder orderSn);
 
     /**
      * 订单取消
@@ -55,12 +55,12 @@ public interface BasicService extends Ordered {
     /**
      * 查询状态
      */
-    String queryStatus(QueryOrderReq req);
+    String queryStatus(LhbOrder order);
 
     /**
      * 首充查询API
      */
-    String queryFirstCharge(QueryOrderReq req);
+    void queryFirstCharge(LhbOrder req);
 
     /**
      * 查询分销充值记录

+ 51 - 8
lhb-basic/lhb-basic-biz/src/main/java/com/kxs/lhb/basic/biz/channel/tongyi/TYBasicService.java

@@ -2,9 +2,13 @@ package com.kxs.lhb.basic.biz.channel.tongyi;
 
 import cn.hutool.core.lang.TypeReference;
 import cn.hutool.json.JSONUtil;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.kxs.common.core.constant.CommonConstants;
 import com.kxs.common.security.util.SecurityUtils;
 import com.kxs.lhb.basic.api.constant.enums.ChannelCodeEnum;
+import com.kxs.lhb.basic.api.constant.enums.NotifyStatusEnum;
+import com.kxs.lhb.basic.api.constant.enums.OrderStatusEnum;
 import com.kxs.lhb.basic.api.dto.tongyi.*;
 import com.kxs.lhb.basic.api.model.*;
 import com.kxs.lhb.basic.api.vo.tongyi.*;
@@ -13,6 +17,8 @@ import com.kxs.lhb.basic.biz.service.*;
 import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -34,8 +40,6 @@ public class TYBasicService extends TongYiService implements BasicService {
 
     private final LhbGoodsActivitiesService goodsActivitiesService;
 
-    private final LhbAreaService areaService;
-
     @Override
     public List<AreaRes> getArea() {
 
@@ -70,9 +74,7 @@ public class TYBasicService extends TongYiService implements BasicService {
     }
 
     @Override
-    public String orderSubmit(String orderSn) {
-
-        LhbOrder order = orderService.getOrderSn(orderSn);
+    public String orderSubmit(LhbOrder order) {
 
         LhbGoods goods = goodsService.getById(order.getGoodsId());
 
@@ -120,17 +122,58 @@ public class TYBasicService extends TongYiService implements BasicService {
     }
 
     @Override
-    public String queryStatus(QueryOrderReq req) {
+    public String queryStatus(LhbOrder order) {
 
+        QueryOrderReq req = QueryOrderReq.builder()
+                .orderId(order.getOutOrderSn())
+                .build();
         TyCommRes<Object> commRes = sendToUrl(req, "/api/v1/guangdian/queryStatus");
+        String outStatus = commRes.getData().toString();
+
+        LambdaUpdateWrapper<LhbOrder> updateWrapper = Wrappers.lambdaUpdate(LhbOrder.class).eq(LhbOrder::getId, order.getId()).set(LhbOrder::getOutStatus, outStatus);
+        //更新状态
+        if("41".equals(outStatus) || "2".equals(outStatus)){
+            //41-配送中,不可取消订单 2-订单成功结束
+            orderService.sendToOrder(order, "41".equals(outStatus) ? NotifyStatusEnum.DISTRIBUTION : NotifyStatusEnum.ACT);
+        }
+        if("3".equals(outStatus)){
+            //3-订单异常取消
+            orderService.sendToOrder(order, NotifyStatusEnum.CANCEL);
+            //如果是0服务费直接订单也变成已取消
+            if(order.getServerFee().compareTo(BigDecimal.ZERO) == 0){
+                updateWrapper.set(LhbOrder::getStatus, OrderStatusEnum.CANCEL.getCode());
+            }
+        }
         return commRes.getData().toString();
     }
 
     @Override
-    public String queryFirstCharge(QueryOrderReq req) {
+    public void queryFirstCharge(LhbOrder order) {
+
+        QueryOrderReq req = QueryOrderReq.builder().orderId(order.getOutOrderSn()).build();
 
         TyCommRes<Object> commRes = sendToUrl(req, "/api/v1/guangdian/queryFirstCharge");
-        return commRes.getData().toString();
+        String firstCharge = commRes.getData().toString();
+        if(firstCharge.contains("50") || firstCharge.contains("100")){
+
+            BigDecimal firstChargeAmt = firstCharge.contains("50") ? new BigDecimal("5000") : new BigDecimal("10000");
+
+            //更新状态
+            orderService.update(Wrappers.lambdaUpdate(LhbOrder.class).eq(LhbOrder::getId, order.getId())
+                    .set(LhbOrder::getIsAct, CommonConstants.SUCCESS)
+                    .set(LhbOrder::getFirstCharge, firstChargeAmt)
+                    .set(LhbOrder::getIsFirstRecharge, CommonConstants.SUCCESS));
+
+            order.setIsFirstRecharge(CommonConstants.SUCCESS);
+            order.setFirstCharge(firstChargeAmt);
+            order.setIsAct(CommonConstants.SUCCESS);
+            orderService.sendToOrder(order, NotifyStatusEnum.ACT);
+        }
+        //订单超过30天自动设置为已激活
+        if(order.getCreateTime().plusDays(30).isBefore(LocalDateTime.now())){
+            orderService.update(Wrappers.lambdaUpdate(LhbOrder.class).eq(LhbOrder::getId, order.getId())
+                    .set(LhbOrder::getIsAct, CommonConstants.SUCCESS));
+        }
     }
 
     @Override

+ 88 - 25
lhb-basic/lhb-basic-biz/src/main/java/com/kxs/lhb/basic/biz/channel/yiwang/YWBasicService.java

@@ -5,15 +5,19 @@ import cn.hutool.core.util.IdUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.kxs.common.core.constant.CommonConstants;
 import com.kxs.common.security.util.SecurityUtils;
 import com.kxs.lhb.basic.api.constant.enums.ChannelCodeEnum;
+import com.kxs.lhb.basic.api.constant.enums.NotifyStatusEnum;
+import com.kxs.lhb.basic.api.constant.enums.OrderStatusEnum;
 import com.kxs.lhb.basic.api.dto.tongyi.*;
 import com.kxs.lhb.basic.api.dto.yiyang.YWOrderCancelReq;
 import com.kxs.lhb.basic.api.dto.yiyang.YWPreNumbersReq;
-import com.kxs.lhb.basic.api.model.LhbArea;
-import com.kxs.lhb.basic.api.model.LhbGoods;
-import com.kxs.lhb.basic.api.model.LhbGoodsSku;
-import com.kxs.lhb.basic.api.model.LhbOrder;
+import com.kxs.lhb.basic.api.dto.yiyang.YWQueryFirstOrderReq;
+import com.kxs.lhb.basic.api.dto.yiyang.YWQueryOrderReq;
+import com.kxs.lhb.basic.api.model.*;
 import com.kxs.lhb.basic.api.vo.tongyi.*;
 import com.kxs.lhb.basic.api.vo.yiwang.YWCommRes;
 import com.kxs.lhb.basic.biz.channel.BasicService;
@@ -22,10 +26,13 @@ import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * TY API调用服务
@@ -98,9 +105,7 @@ public class YWBasicService extends YiWangService implements BasicService {
     }
 
     @Override
-    public String orderSubmit(String orderSn) {
-
-        LhbOrder order = orderService.getOrderSn(orderSn);
+    public String orderSubmit(LhbOrder order) {
 
         LhbGoods goods = goodsService.getById(order.getGoodsId());
 
@@ -110,7 +115,9 @@ public class YWBasicService extends YiWangService implements BasicService {
 
         LhbArea province = areaService.getById(city.getParentId());
 
-        Map<String,Object> params = new HashMap<>();
+        List<LhbGoodsActivities> activities = goodsActivitiesService.list(Wrappers.lambdaQuery(LhbGoodsActivities.class).eq(LhbGoodsActivities::getSkuId, goodsSku.getId()));
+
+        Map<String, Object> params = new HashMap<>();
         params.put("seqId", IdUtil.simpleUUID());
 //      不用  params.put("orderType", "15");
 //      不用  params.put("channelId","SHENGFEN");
@@ -127,23 +134,32 @@ public class YWBasicService extends YiWangService implements BasicService {
         params.put("phone", order.getMakeMobile());
 //    不用    params.put("payWay","9");
 //     不用   params.put("userIdType","1");
-        params.put("userId", order.getUserId());
+        params.put("userId", String.valueOf(order.getUserId()));
         params.put("payMoney", "0");
         params.put("sendWay","1");
         params.put("orderRemark", order.getRemark());
-        Map<String,Object> goodsMap = new HashMap<>();
+        Map<String, Object> goodsMap = new HashMap<>();
         goodsMap.put("goodsId", goods.getExternalId());
         goodsMap.put("goodsSkuId", goodsSku.getExternalSkuId());
 //        goodsMap.put("goodsTypeId","C01");
         goodsMap.put("orderNum","1");
 
+        if(!activities.isEmpty()){
+            List<Map<String,Object>> offerList = new ArrayList<>();
+            for (LhbGoodsActivities activity : activities) {
+                Map<String,Object> codes = new HashMap<>();
+                codes.put("offerCode", activity.getActivityCode());
+                offerList.add(codes);
+            }
+            goodsMap.put("offerList", offerList);
+        }
 
         params.put("goodsParams", goodsMap);
 
-        String[] split = order.getArea().split(StrUtil.COLON);
+        String[] split = order.getArea().split(StrUtil.COMMA);
         LhbArea county = areaService.getAreaCode(split[2]);
 
-        Map<String,Object> orderRecvAddr = new HashMap<>();
+        Map<String,String> orderRecvAddr = new HashMap<>();
         orderRecvAddr.put("receiveName", order.getCustName());
         orderRecvAddr.put("receiveCountry","中国");
         orderRecvAddr.put("receiveProvince", province.getAreaCode());
@@ -156,15 +172,15 @@ public class YWBasicService extends YiWangService implements BasicService {
         orderRecvAddr.put("receiveMobile", order.getContMobile());
         params.put("orderRecvAddr",orderRecvAddr);
 
-        Map<String,Object> custInfo = new HashMap<>();
+        Map<String,String> custInfo = new HashMap<>();
         custInfo.put("custName", order.getCustName());
         custInfo.put("idenType","1");
-        custInfo.put("idenNr", order);
+        custInfo.put("idenNr", order.getIdCard());
         custInfo.put("contNumber", order.getContMobile());
         params.put("custInfo",custInfo);
 
         params.put("outOrderId", order.getOrderSn());
-        YWCommRes<Object> commRes = sendToUrl(order, "/gd/openapi/fenxiao/prov/openAcount/submitOrder");
+        YWCommRes<Object> commRes = sendToUrl(params, "/gd/openapi/fenxiao/prov/openAcount/submitOrder");
         JSONObject entries = JSONUtil.parseObj(commRes.getResult());
         return entries.getStr("orderId");
     }
@@ -178,29 +194,76 @@ public class YWBasicService extends YiWangService implements BasicService {
                 .orderId(order.getOutOrderSn())
                 .returnCause(order.getRemark())
                 .applyPerson(SecurityUtils.getUser().getName()).build();
-        sendToUrl(req, "/gd/openapi/fenxiao/prov/openAcount/cancel");
+        sendToUrl(req, "/gd/openapi/fenxiao/prov/openAcount/returnOrder");
     }
 
     @Override
     public QueryLogisticsRes queryLogistics(QueryOrderReq req) {
 
-        YWCommRes<Object> commRes = sendToUrl(req, "/gd/openapi/fenxiao/prov/openAcount/queryLogistics");
-        YWCommRes<QueryLogisticsRes> res = JSONUtil.toBean(commRes.getResult().toString(), new TypeReference<>() {}, true);
-        return JSONUtil.toBean(JSONUtil.toJsonStr(res.getResult()), QueryLogisticsRes.class);
+        YWCommRes<Object> res = sendToUrl(req, "/gd/openapi/fenxiao/prov/openAcount/qryorderLogistics");
+        JSONObject entries = JSONUtil.parseObj(res.getResult().toString());
+        return JSONUtil.toBean(entries.getStr("data"), new TypeReference<>() {}, true);
     }
 
     @Override
-    public String queryStatus(QueryOrderReq req) {
-
-        YWCommRes<Object> commRes = sendToUrl(req, "/gd/openapi/fenxiao/prov/openAcount/queryStatus");
+    public String queryStatus(LhbOrder order) {
+
+        YWQueryOrderReq req = YWQueryOrderReq.builder().orderId(order.getOutOrderSn())
+                .phone(order.getMakeMobile())
+                .userId(String.valueOf(order.getUserId()))
+                .build();
+        YWCommRes<Object> commRes = sendToUrl(req, "/gd/openapi/fenxiao/prov/openAcount/qryOrderDetail");
+        JSONObject entries = JSONUtil.parseObj(commRes.getResult().toString());
+
+        String outStatus = entries.getStr("orderStatus");
+
+        //更新状态
+        LambdaUpdateWrapper<LhbOrder> updateWrapper = Wrappers.lambdaUpdate(LhbOrder.class).eq(LhbOrder::getId, order.getId()).set(LhbOrder::getOutStatus, outStatus);
+
+        switch (outStatus){
+            case "4","2":
+                //4-配送中,不可取消订单 2-订单成功结束
+                orderService.sendToOrder(order, "2".equals(outStatus) ? NotifyStatusEnum.ACT : NotifyStatusEnum.DISTRIBUTION);
+                break;
+            case "3":
+                //3-订单异常取消
+                orderService.sendToOrder(order, NotifyStatusEnum.CANCEL);
+                //如果是0服务费直接订单也变成已取消
+                if(order.getServerFee().compareTo(BigDecimal.ZERO) == 0){
+                    updateWrapper.set(LhbOrder::getStatus, OrderStatusEnum.CANCEL.getCode());
+                }
+                break;
+        }
         return commRes.getResult().toString();
     }
 
     @Override
-    public String queryFirstCharge(QueryOrderReq req) {
+    public void queryFirstCharge(LhbOrder order) {
 
-        YWCommRes<Object> commRes = sendToUrl(req, "/gd/openapi/fenxiao/prov/openAcount/queryFirstCharge");
-        return commRes.getResult().toString();
+        YWQueryFirstOrderReq req = YWQueryFirstOrderReq.builder().phoneNumber(order.getMakeMobile()).build();
+        YWCommRes<Object> commRes = sendToUrl(req, "/gd/openapi/fenxiao/prov/openAcount/queryFirstRecharge");
+        String firstCharge = commRes.getResult().toString();
+
+        if(firstCharge.contains("首充50元") || firstCharge.contains("首充100元")){
+
+            BigDecimal firstChargeAmt = firstCharge.contains("首充50元") ? new BigDecimal("5000") : new BigDecimal("10000");
+
+            //更新状态
+            orderService.update(Wrappers.lambdaUpdate(LhbOrder.class).eq(LhbOrder::getId, order.getId())
+                    .set(LhbOrder::getIsAct, CommonConstants.SUCCESS)
+                    .set(LhbOrder::getFirstCharge, firstChargeAmt)
+                    .set(LhbOrder::getIsFirstRecharge, CommonConstants.SUCCESS));
+
+            order.setIsFirstRecharge(CommonConstants.SUCCESS);
+            order.setFirstCharge(firstChargeAmt);
+            order.setIsAct(CommonConstants.SUCCESS);
+            orderService.sendToOrder(order, NotifyStatusEnum.ACT);
+        }
+        //订单超过30天自动设置为已激活
+        if(order.getCreateTime().plusDays(30).isBefore(LocalDateTime.now())){
+            orderService.update(Wrappers.lambdaUpdate(LhbOrder.class).eq(LhbOrder::getId, order.getId())
+                    .set(LhbOrder::getIsAct, CommonConstants.SUCCESS));
+        }
     }
 
     @Override

+ 3 - 0
lhb-basic/lhb-basic-biz/src/main/java/com/kxs/lhb/basic/biz/service/LhbOrderService.java

@@ -1,6 +1,7 @@
 package com.kxs.lhb.basic.biz.service;
 
 import com.github.yulichang.base.MPJBaseService;
+import com.kxs.lhb.basic.api.constant.enums.NotifyStatusEnum;
 import com.kxs.lhb.basic.api.model.LhbOrder;
 import com.kxs.lhb.basic.api.vo.admin.sysOrder.QueryLogisticsVO;
 
@@ -49,5 +50,7 @@ public interface LhbOrderService extends MPJBaseService<LhbOrder> {
     Boolean refundFee(LhbOrder param);
 
     LhbOrder getOrderSn(String orderSn);
+
+    void sendToOrder(LhbOrder order, NotifyStatusEnum notifyStatusEnum);
 }
 

+ 8 - 56
lhb-basic/lhb-basic-biz/src/main/java/com/kxs/lhb/basic/biz/service/impl/LhbOrderServiceImpl.java

@@ -10,7 +10,6 @@ import cn.hutool.http.Header;
 import cn.hutool.http.HttpRequest;
 import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
-import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.kxs.common.core.constant.CommonConstants;
@@ -25,9 +24,6 @@ import com.kxs.common.security.util.SecurityUtils;
 import com.kxs.lhb.basic.api.amqp.RabbitOrderTimeoutQueueMQ;
 import com.kxs.lhb.basic.api.constant.enums.NotifyStatusEnum;
 import com.kxs.lhb.basic.api.constant.enums.OrderStatusEnum;
-import com.kxs.lhb.basic.api.dto.tongyi.OrderCancelReq;
-import com.kxs.lhb.basic.api.dto.tongyi.OrderSubmitReq;
-import com.kxs.lhb.basic.api.dto.tongyi.PreNumbersReq;
 import com.kxs.lhb.basic.api.dto.tongyi.QueryOrderReq;
 import com.kxs.lhb.basic.api.model.*;
 import com.kxs.lhb.basic.api.vo.admin.sysOrder.QueryLogisticsVO;
@@ -35,7 +31,6 @@ import com.kxs.lhb.basic.api.vo.tongyi.QueryLogisticsRes;
 import com.kxs.lhb.basic.biz.channel.factory.ChannelFactory;
 import com.kxs.lhb.basic.biz.mapper.LhbOrderMapper;
 import com.kxs.lhb.basic.biz.mq.model.params.BindNotify;
-import com.kxs.lhb.basic.biz.mq.model.params.OrderNotify;
 import com.kxs.lhb.basic.biz.service.*;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -44,10 +39,8 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
-import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.util.*;
-import java.util.stream.Collectors;
 
 
 /**
@@ -207,7 +200,7 @@ public class LhbOrderServiceImpl extends MPJBaseServiceImpl<LhbOrderMapper, LhbO
             order.setStatus(OrderStatusEnum.PAY.getCode());
             order.setPayTime(LocalDateTime.now());
             //三方下单
-            String orderId = channelFactory.getChannel(order.getIfCode()).orderSubmit(order.getOrderSn());
+            String orderId = channelFactory.getChannel(order.getIfCode()).orderSubmit(order);
             order.setOutOrderSn(orderId);
             //下单成功推送预约信息到下游
             sendToOrder(order, NotifyStatusEnum.NORMAL);
@@ -231,7 +224,7 @@ public class LhbOrderServiceImpl extends MPJBaseServiceImpl<LhbOrderMapper, LhbO
 
         try{
             //三方下单
-            String orderId = channelFactory.getChannel(order.getIfCode()).orderSubmit(order.getOrderSn());
+            String orderId = channelFactory.getChannel(order.getIfCode()).orderSubmit(order);
             order.setOutOrderSn(orderId);
         }catch (Exception e){
             log.error("三方下单失败", e);
@@ -283,7 +276,7 @@ public class LhbOrderServiceImpl extends MPJBaseServiceImpl<LhbOrderMapper, LhbO
                     order.setPayTime(LocalDateTime.now());
                     order.setPayTradeNo(query.getTradeNo());
                     //三方下单
-                    String orderId = channelFactory.getChannel(order.getIfCode()).orderSubmit(order.getOrderSn());
+                    String orderId = channelFactory.getChannel(order.getIfCode()).orderSubmit(order);
                     order.setOutOrderSn(orderId);
                 }
             }catch (Exception e){
@@ -306,7 +299,7 @@ public class LhbOrderServiceImpl extends MPJBaseServiceImpl<LhbOrderMapper, LhbO
         if(order.getIsAct() == 1){
             throw new GlobalCustomerException("订单已激活,无法取消");
         }
-        if(order.getOutStatus() == 41){
+        if(order.getOutStatus() == 41 || order.getOutStatus() == 4){
             throw new GlobalCustomerException("配送中,不可取消订单");
         }
         if(order.getOutStatus() == 6){
@@ -364,27 +357,7 @@ public class LhbOrderServiceImpl extends MPJBaseServiceImpl<LhbOrderMapper, LhbO
                 .notIn(LhbOrder::getOutStatus, 2, 3)
                 .eq(LhbOrder::getStatus, OrderStatusEnum.PAY.getCode()));
 
-        orders.forEach(order -> {
-            QueryOrderReq req = QueryOrderReq.builder().orderId(order.getOutOrderSn()).build();
-            String outStatus = channelFactory.getChannel(order.getIfCode()).queryStatus(req);
-
-            LambdaUpdateWrapper<LhbOrder> updateWrapper = Wrappers.lambdaUpdate(LhbOrder.class).eq(LhbOrder::getId, order.getId()).set(LhbOrder::getOutStatus, outStatus);
-            //更新状态
-            if("41".equals(outStatus) || "2".equals(outStatus)){
-                //41-配送中,不可取消订单 2-订单成功结束
-                sendToOrder(order, "41".equals(outStatus) ? NotifyStatusEnum.DISTRIBUTION : NotifyStatusEnum.ACT);
-            }
-            if("3".equals(outStatus)){
-                //3-订单异常取消
-                sendToOrder(order, NotifyStatusEnum.CANCEL);
-                //如果是0服务费直接订单也变成已取消
-                if(order.getServerFee().compareTo(BigDecimal.ZERO) == 0){
-                    updateWrapper.set(LhbOrder::getStatus, OrderStatusEnum.CANCEL.getCode());
-                }
-            }
-
-            update(updateWrapper);
-        });
+        orders.forEach(order -> channelFactory.getChannel(order.getIfCode()).queryStatus(order));
     }
 
     @Override
@@ -396,29 +369,7 @@ public class LhbOrderServiceImpl extends MPJBaseServiceImpl<LhbOrderMapper, LhbO
                 .eq(LhbOrder::getStatus, OrderStatusEnum.PAY.getCode()));
 
         orders.forEach(order -> {
-            QueryOrderReq req = QueryOrderReq.builder().orderId(order.getOutOrderSn()).build();
-            String firstCharge = channelFactory.getChannel(order.getIfCode()).queryFirstCharge(req);
-            if(firstCharge.contains("50") || firstCharge.contains("100")){
-
-                BigDecimal firstChargeAmt = firstCharge.contains("50") ? new BigDecimal("5000") : new BigDecimal("10000");
-
-                //更新状态
-                update(Wrappers.lambdaUpdate(LhbOrder.class).eq(LhbOrder::getId, order.getId())
-                        .set(LhbOrder::getIsAct, CommonConstants.SUCCESS)
-                        .set(LhbOrder::getFirstCharge, firstChargeAmt)
-                        .set(LhbOrder::getIsFirstRecharge, CommonConstants.SUCCESS));
-
-                order.setIsFirstRecharge(CommonConstants.SUCCESS);
-                order.setFirstCharge(firstChargeAmt);
-                order.setIsAct(CommonConstants.SUCCESS);
-                sendToOrder(order, NotifyStatusEnum.ACT);
-            }
-            //订单超过30天自动设置为已激活
-            if(order.getCreateTime().plusDays(30).isBefore(LocalDateTime.now())){
-                update(Wrappers.lambdaUpdate(LhbOrder.class).eq(LhbOrder::getId, order.getId())
-                        .set(LhbOrder::getIsAct, CommonConstants.SUCCESS));
-            }
-
+            channelFactory.getChannel(order.getIfCode()).queryFirstCharge(order);
         });
     }
 
@@ -429,7 +380,8 @@ public class LhbOrderServiceImpl extends MPJBaseServiceImpl<LhbOrderMapper, LhbO
      * @param order            次序
      * @param notifyStatusEnum notify status 枚举
      */
-    private void sendToOrder(LhbOrder order, NotifyStatusEnum notifyStatusEnum) {
+    @Override
+    public void sendToOrder(LhbOrder order, NotifyStatusEnum notifyStatusEnum) {
 
         List<LhbArea> areas = areaService.getListAreas(List.of(order.getArea().split(StrUtil.COMMA)));
         BindNotify bindNotify = BindNotify.builder().mobile(order.getMakeMobile())