Browse Source

Merge remote-tracking branch 'origin/master'

zyp 4 days ago
parent
commit
ffcc965d87
25 changed files with 292 additions and 62 deletions
  1. 13 12
      fs-admin/src/main/java/com/fs/hisStore/task/MallStoreTask.java
  2. 210 17
      fs-service/src/main/java/com/fs/erp/service/impl/DfOrderServiceImpl.java
  3. 1 1
      fs-service/src/main/java/com/fs/his/mapper/FsUserMapper.java
  4. 7 7
      fs-service/src/main/java/com/fs/his/service/IFsDfAccountService.java
  5. 1 1
      fs-service/src/main/java/com/fs/hisStore/mapper/FsStoreOrderScrmMapper.java
  6. 2 0
      fs-service/src/main/java/com/fs/hisStore/service/IFsStoreOrderScrmService.java
  7. 29 8
      fs-service/src/main/java/com/fs/hisStore/service/impl/FsStoreOrderScrmServiceImpl.java
  8. 4 1
      fs-service/src/main/java/com/fs/qw/mapper/QwExternalContactMapper.java
  9. 4 0
      fs-service/src/main/java/com/fs/qw/vo/QwFsUserVO.java
  10. 1 1
      fs-service/src/main/resources/application-config-druid-ddgy.yml
  11. 1 1
      fs-service/src/main/resources/application-config-druid-hat.yml
  12. 1 1
      fs-service/src/main/resources/application-config-druid-hcl.yml
  13. 1 1
      fs-service/src/main/resources/application-config-druid-hdt.yml
  14. 1 1
      fs-service/src/main/resources/application-config-druid-hst.yml
  15. 1 1
      fs-service/src/main/resources/application-config-druid-hyt.yml
  16. 1 1
      fs-service/src/main/resources/application-config-druid-jnmy.yml
  17. 1 1
      fs-service/src/main/resources/application-config-druid-jnsyj.yml
  18. 1 1
      fs-service/src/main/resources/application-config-druid-jzzx.yml
  19. 6 0
      fs-service/src/main/resources/application-config-druid-knt.yml
  20. 1 1
      fs-service/src/main/resources/application-config-druid-kyt.yml
  21. 1 1
      fs-service/src/main/resources/application-config-druid-nmgyt.yml
  22. 1 1
      fs-service/src/main/resources/application-config-druid-qdtst.yml
  23. 1 1
      fs-service/src/main/resources/application-config-druid-sxjz.yml
  24. 1 1
      fs-service/src/main/resources/application-config-myhk.yml
  25. 1 1
      fs-service/src/main/resources/application-config-zkzh.yml

+ 13 - 12
fs-admin/src/main/java/com/fs/hisStore/task/MallStoreTask.java

@@ -207,23 +207,24 @@ public class MallStoreTask
             ErpOrderQueryRequert request = new ErpOrderQueryRequert();
             request.setCode(order.getExtendOrderId());
             IErpOrderService erpOrderService = getErpOrderService();
-            ErpOrderQueryResponse response = erpOrderService.getOrder(request);
-            if(response.getOrders()!=null&&response.getOrders().size()>0){
-                for(ErpOrderQuery orderQuery : response.getOrders()){
-                    if(orderQuery.getDeliverys()!=null&&orderQuery.getDeliverys().size()>0){
-                        for(ErpDeliverys delivery:orderQuery.getDeliverys()){
-                            if(delivery.getDelivery()&&StringUtils.isNotEmpty(delivery.getMail_no())){
-                                //更新商订单状态 删除REDIS
-                                orderService.deliveryOrder(order.getOrderCode(),delivery.getMail_no(),delivery.getExpress_code(),delivery.getExpress_name());
-                                redisCache.deleteObject(DELIVERY+":"+order.getExtendOrderId());
+            ErpOrderQueryResponse response = erpOrderService.getScrmOrder(request);
+            if (erpOrderService != dfOrderService) {
+                if(response.getOrders()!=null && !response.getOrders().isEmpty()){
+                    for(ErpOrderQuery orderQuery : response.getOrders()){
+                        if(orderQuery.getDeliverys()!=null&&orderQuery.getDeliverys().size()>0){
+                            for(ErpDeliverys delivery:orderQuery.getDeliverys()){
+                                if(delivery.getDelivery()&&StringUtils.isNotEmpty(delivery.getMail_no())){
+                                    //更新商订单状态 删除REDIS
+                                    orderService.deliveryOrder(order.getOrderCode(),delivery.getMail_no(),delivery.getExpress_code(),delivery.getExpress_name());
+                                    redisCache.deleteObject(DELIVERY+":"+order.getExtendOrderId());
+                                }
                             }
-                        }
 
+                        }
                     }
-                }
 
+                }
             }
-
         }
 
     }

+ 210 - 17
fs-service/src/main/java/com/fs/erp/service/impl/DfOrderServiceImpl.java

@@ -7,6 +7,9 @@ import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.fs.common.event.TemplateBean;
+import com.fs.common.event.TemplateEvent;
+import com.fs.common.event.TemplateListenEnum;
 import com.fs.common.utils.DateUtils;
 import com.fs.company.service.ICompanyService;
 import com.fs.erp.domain.ErpDeliverys;
@@ -27,12 +30,18 @@ import com.fs.his.service.IFsExpressService;
 import com.fs.his.service.IFsStoreOrderLogsService;
 import com.fs.his.service.IFsStoreOrderService;
 import com.fs.his.utils.ConfigUtil;
+import com.fs.hisStore.domain.FsExpressScrm;
 import com.fs.hisStore.domain.FsStoreOrderItemScrm;
 import com.fs.hisStore.domain.FsStoreOrderScrm;
 import com.fs.hisStore.domain.FsStoreProductScrm;
+import com.fs.hisStore.enums.OrderInfoEnum;
+import com.fs.hisStore.enums.OrderLogEnum;
+import com.fs.hisStore.enums.ShipperCodeEnum;
 import com.fs.hisStore.mapper.FsStoreOrderItemScrmMapper;
 import com.fs.hisStore.mapper.FsStoreOrderScrmMapper;
 import com.fs.hisStore.mapper.FsStoreProductScrmMapper;
+import com.fs.hisStore.service.IFsExpressScrmService;
+import com.fs.hisStore.service.IFsStoreOrderScrmService;
 import com.fs.hisStore.vo.FsStoreOrderItemVO;
 import com.fs.system.domain.SysConfig;
 import com.fs.system.mapper.SysConfigMapper;
@@ -51,8 +60,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
 
 @Service
 @Slf4j
-public class DfOrderServiceImpl implements IErpOrderService
-{
+public class DfOrderServiceImpl implements IErpOrderService {
 //    @Autowired
 //    ConfigUtil configUtil;
 
@@ -89,6 +97,9 @@ public class DfOrderServiceImpl implements IErpOrderService
     @Autowired
     private IFsStoreOrderLogsService fsStoreOrderLogsService;
 
+    @Autowired
+    private IFsStoreOrderScrmService fsStoreOrderScrmLogsService;
+
     @Autowired
     private ICompanyService companyService;
 
@@ -97,6 +108,10 @@ public class DfOrderServiceImpl implements IErpOrderService
 
     @Autowired
     private IFsExpressService expressService;
+
+    @Autowired
+    private IFsExpressScrmService expressScrmService;
+
     @Autowired
     private IFsStoreOrderService fsStoreOrderService;
 
@@ -126,7 +141,7 @@ public class DfOrderServiceImpl implements IErpOrderService
         String orderCode = order.getOrderCode();
         FsStoreOrder fsStoreOrder = fsStoreOrderMapper.selectFsStoreOrderByOrderCode(orderCode);
         FsStoreOrderDf df = fsStoreOrderDfMapper.selectFsStoreOrderDfByOrderId(fsStoreOrder.getOrderId());
-        if (df == null){
+        if (df == null) {
             return null;
         }
         Long dfAccountId = getSFAccountIndex(fsStoreOrder.getOrderId());
@@ -240,7 +255,7 @@ public class DfOrderServiceImpl implements IErpOrderService
             if (order != null) {
                 //获取下单账户
                 FsStoreOrderDf df = fsStoreOrderDfMapper.selectFsStoreOrderDfByOrderId(order.getOrderId());
-                if(df == null){
+                if (df == null) {
                     return null;
                 }
                 Long dfAccountId = getSFAccountIndex(order.getOrderId());
@@ -261,7 +276,30 @@ public class DfOrderServiceImpl implements IErpOrderService
 
     @Override
     public ErpOrderQueryResponse getScrmOrder(ErpOrderQueryRequert param) {
-        return null;
+        ErpOrderQueryResponse response = new ErpOrderQueryResponse();
+        String orderNumber = param.getCode();
+        if (StrUtil.isNotBlank(orderNumber)) {
+            FsStoreOrderScrm order = fsStoreOrderScrmMapper.selectFsStoreOrderByOrderCode(orderNumber);
+            if (order != null) {
+                //获取下单账户
+                FsStoreOrderDf df = fsStoreOrderDfMapper.selectFsStoreOrderDfByOrderId(order.getId());
+                if (df == null) {
+                    return null;
+                }
+                Long dfAccountId = getSFAccountIndex(order.getId());
+                if (dfAccountId != null) {
+                    Map<String, Object> orderResultQueryParam = new HashMap<>();
+                    orderResultQueryParam.put("orderNumber", orderNumber);
+                    orderResultQueryParam.put("exInterfaceType", df.getStatus());
+                    getOrderScrmResult(orderResultQueryParam, dfAccountId);
+                    return response;
+                }
+            }
+            response.setErrorDesc("该订单不存在/顺丰账户不存在");
+        } else {
+            response.setErrorDesc("未获取到原始订单号");
+        }
+        return response;
     }
 
     @Override
@@ -290,7 +328,7 @@ public class DfOrderServiceImpl implements IErpOrderService
         try {
             String response = client.execute(RequestUrlEnum.ORDER_DELIVERY_STATUS, map, dfAccountId);
             DFApiResponse dfApiResponse = JSON.parseObject(response, DFApiResponse.class);
-            if ("运单不存在".equals(dfApiResponse.getMsg())){
+            if ("运单不存在".equals(dfApiResponse.getMsg())) {
 
                 //查看原来物流状态
                 cancelOrder(order);
@@ -352,7 +390,7 @@ public class DfOrderServiceImpl implements IErpOrderService
                         Map<String, Object> config = (Map<String, Object>) JSON.parse(sysConfig.getConfigValue());
                         Object isUpdateOrder = config.get("isUpdateOrder");
                         if (isUpdateOrder == null || "1".equals(isUpdateOrder.toString())) {
-                            fsStoreOrderService.getGoods(order.getOrderId(),"物流自动");
+                            fsStoreOrderService.getGoods(order.getOrderId(), "物流自动");
                         }
                         break;
                     case 10:
@@ -386,7 +424,7 @@ public class DfOrderServiceImpl implements IErpOrderService
             order.setDeliverySn("");
             fsStoreOrderMapper.updateFsStoreOrder(order);
             fsStoreOrderLogsService.create(order.getOrderId(), FsStoreOrderLogEnum.UPDATE_ORDER_DF.getValue(),
-                    "运单不存在,"+FsStoreOrderLogEnum.UPDATE_ORDER_DF.getDesc());
+                    "运单不存在," + FsStoreOrderLogEnum.UPDATE_ORDER_DF.getDesc());
         } else {
             //有物流信息->售后处理
             //取消订单
@@ -396,7 +434,7 @@ public class DfOrderServiceImpl implements IErpOrderService
             afterSalesParam.setOperator("代服管家");
             fsStoreOrderService.afterSales(afterSalesParam);
             fsStoreOrderLogsService.create(order.getOrderId(), FsStoreOrderLogEnum.REFUND_ORDER_DF.getValue(),
-                    "运单不存在,"+FsStoreOrderLogEnum.REFUND_ORDER_DF.getDesc());
+                    "运单不存在," + FsStoreOrderLogEnum.REFUND_ORDER_DF.getDesc());
         }
         FsStoreOrderDf df = new FsStoreOrderDf();
         df.setOrderId(order.getOrderId());
@@ -404,6 +442,7 @@ public class DfOrderServiceImpl implements IErpOrderService
         df.setUpdateTime(new Date());
         fsStoreOrderDfMapper.updateFsStoreOrderDf(df);
     }
+
     /**
      * 获取erp推送参数
      *
@@ -438,7 +477,7 @@ public class DfOrderServiceImpl implements IErpOrderService
                 orderResultQueryParam.put("orderNumber", order.getPlatform_code());
                 orderResultQueryParam.put("exInterfaceType", df.getStatus());
                 try {
-                    getOrderResult(orderResultQueryParam,dfAccountId);
+                    getOrderScrmResult(orderResultQueryParam, dfAccountId);
                 } catch (Exception e) {
                     log.info("推送订单完成,查询订单问题{}", e.getMessage());
                 }
@@ -489,7 +528,7 @@ public class DfOrderServiceImpl implements IErpOrderService
                 orderResultQueryParam.put("orderNumber", order.getPlatform_code());
                 orderResultQueryParam.put("exInterfaceType", df.getStatus());
                 try {
-                    getOrderResult(orderResultQueryParam,dfAccountId);
+                    getOrderResult(orderResultQueryParam, dfAccountId);
                 } catch (Exception e) {
                     log.info("推送订单完成,查询订单问题{}", e.getMessage());
                 }
@@ -636,7 +675,12 @@ public class DfOrderServiceImpl implements IErpOrderService
                 skuVo.setProductName(product.getProductName()); //商品名称
                 com.alibaba.fastjson.JSONObject jsonObject = JSON.parseObject(item.getJsonInfo());
                 skuVo.setSkuCode(jsonObject.getString("sku")); //sku编码
-                skuVo.setProductCode(jsonObject.getString("barCode")); //商品编号
+                String barCode = jsonObject.getString("barCode");
+                if (StringUtils.isNotBlank(barCode)) {
+                    skuVo.setProductCode(barCode); //商品编号
+                } else {
+                    skuVo.setProductCode(item.getProductId().toString()); //商品编号
+                }
                 skuVo.setAttributeNames(jsonObject.getString("sku")); //商品规格,格式:颜色:红色,尺寸:L码....以此类推
                 skuVo.setProductNumber(Math.toIntExact(item.getNum())); //商品预定数量
                 skuVo.setPrice(product.getPrice().doubleValue()); //商品单价
@@ -767,7 +811,6 @@ public class DfOrderServiceImpl implements IErpOrderService
     }
 
 
-
     /**
      * 获取账户索引 后续添加规则
      *
@@ -814,12 +857,16 @@ public class DfOrderServiceImpl implements IErpOrderService
                         if (bspOrderResponse != null) {
                             String failMsg = bspOrderResponse.getFailMsg();
                             if (StringUtils.isNotBlank(failMsg)) {
-                                if (failMsg.equals("暂未结果, 请稍后再查")){
+                                if (failMsg.equals("暂未结果, 请稍后再查")) {
                                     return;
                                 }
                                 //下单失败 返回未推送状态
-                                String  orderNumber = bspOrderResponse.getOrderNumber();
-                                rollBackOrder(orderNumber,failMsg);
+                                String orderNumber = bspOrderResponse.getOrderNumber();
+                                try {
+                                    rollBackOrder(orderNumber, failMsg);
+                                } catch (Exception e) {
+                                    log.info("{}订单获取运单失败,订单状态回滚失败,失败原因:{},失败信息为:{}", orderNumber,e.getMessage(),failMsg);
+                                }
                             } else {
                                 setExpress(bspOrderResponse);
                             }
@@ -845,7 +892,60 @@ public class DfOrderServiceImpl implements IErpOrderService
         }
     }
 
-    private void rollBackOrder(String orderNumber,String failMsg) {
+    private void getOrderScrmResult(Map<String, Object> map, Long dfAccountId) {
+        try {
+            String status = map.get("exInterfaceType").toString();
+            log.info("开始查询订单结果,参数为: {}", JSON.toJSONString(map));
+            String response = client.execute(RequestUrlEnum.ORDER_RESULT, map, dfAccountId);
+            DFApiResponse dfApiResponse = JSON.parseObject(response, DFApiResponse.class);
+            if (dfApiResponse != null && "ok".equals(dfApiResponse.getCode())) {
+                log.info("查询订单结果,结果: {}", JSON.toJSONString(dfApiResponse));
+                Object result = dfApiResponse.getResult();
+                if (result != null) {
+                    String jsonString = JSON.toJSONString(result);
+                    //下单
+                    if ("1".equals(status)) {
+                        //下单结果
+                        BspOrderResponseWrapper bspOrderResponse = JSONUtil.toBean(jsonString, BspOrderResponseWrapper.class);
+                        if (bspOrderResponse != null) {
+                            String failMsg = bspOrderResponse.getFailMsg();
+                            if (StringUtils.isNotBlank(failMsg)) {
+                                if (failMsg.equals("暂未结果, 请稍后再查")) {
+                                    return;
+                                }
+                                //下单失败 返回未推送状态
+                                String orderNumber = bspOrderResponse.getOrderNumber();
+                                try {
+                                    rollBackOrderScrm(orderNumber, failMsg);
+                                } catch (Exception e) {
+                                    log.info("{}订单获取运单失败,订单状态回滚失败,失败原因:{},失败信息为:{}", orderNumber,e.getMessage(),failMsg);
+                                }
+                            } else {
+                                setExpressScrm(bspOrderResponse);
+                            }
+                        }
+                    } else if ("2".equals(status)) {
+                        //取消订单
+                        DFCancelOrderResultResponse cancelResponse = JSONUtil.toBean(jsonString, DFCancelOrderResultResponse.class);
+                        if (cancelResponse != null) {
+                            if (cancelResponse.getIsCancelSuss() == 1) {
+                                log.info("查询订单取消成功,返回结果{}", JSON.toJSONString(cancelResponse));
+                            } else {
+                                log.info("查询订单取消失败,返回结果{}", JSON.toJSONString(cancelResponse));
+                            }
+                        }
+                    }
+                }
+
+            } else {
+                log.info(String.format("查询订单失败,原因: %s", dfApiResponse.getMsg()));
+            }
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+
+    private void rollBackOrder(String orderNumber, String failMsg) {
         FsStoreOrder fsStoreOrder = fsStoreOrderMapper.selectFsStoreOrderByOrderCode(orderNumber);
         FsStoreOrder tempOrder = new FsStoreOrder();
         tempOrder.setOrderId(fsStoreOrder.getOrderId());
@@ -857,6 +957,24 @@ public class DfOrderServiceImpl implements IErpOrderService
         df.setFailMsg(failMsg); //失败消息
         df.setUpdateTime(new Date());
         fsStoreOrderDfMapper.updateFsStoreOrderDf(df);
+        log.info("{}订单获取运单失败,失败信息为:{}", orderNumber,failMsg);
+        //推送失败消息
+    }
+
+    private void rollBackOrderScrm(String orderNumber, String failMsg) {
+        FsStoreOrderScrm fsStoreOrder = fsStoreOrderScrmMapper.selectFsStoreOrderByOrderCode(orderNumber);
+        FsStoreOrderScrm tempOrder = new FsStoreOrderScrm();
+        tempOrder.setId(fsStoreOrder.getId());
+        tempOrder.setExtendOrderId("");
+        tempOrder.setDeliveryId("");
+        fsStoreOrderScrmMapper.updateFsStoreOrder(tempOrder);
+        FsStoreOrderDf df = new FsStoreOrderDf();
+        df.setOrderId(fsStoreOrder.getId());
+        df.setStatus(OrderInfoEnum.STATUS_1.getValue()); //回到默认
+        df.setFailMsg(failMsg); //失败消息
+        df.setUpdateTime(new Date());
+        fsStoreOrderDfMapper.updateFsStoreOrderDf(df);
+        log.info("{}订单获取运单失败,失败信息为:{}", orderNumber,failMsg);
         //推送失败消息
     }
 
@@ -931,4 +1049,79 @@ public class DfOrderServiceImpl implements IErpOrderService
             }
         }
     }
+
+    /**
+     * 顺丰会有自己的轨迹推送 不使用快递鸟(代服务管家设置推送地址)
+     *
+     * @param bspResponse
+     */
+    private void setExpressScrm(BspOrderResponseWrapper bspResponse) {
+        String orderNumber = bspResponse.getOrderNumber();
+        //快递单号
+        String mailNumber = bspResponse.getMailNumber();
+        //快递名字
+        BspOrderResponse bspOrderResponse = bspResponse.getBspResponse();
+        if (bspOrderResponse != null) {
+            AtomicBoolean flag = new AtomicBoolean(false);
+            List<OrderResponse> list = bspOrderResponse.getBody();
+            if (list != null && !list.isEmpty()) {
+                for (OrderResponse orderResponse : list) {
+                    List<RlsInfo> rlsInfo = orderResponse.getRlsInfo();
+                    if (rlsInfo != null && !rlsInfo.isEmpty()) {
+                        for (RlsInfo info : rlsInfo) {
+                            List<RlsDetail> rlsDetails = info.getRlsDetail();
+                            if (rlsDetails != null && !rlsDetails.isEmpty()) {
+                                for (RlsDetail rlsDetail : rlsDetails) {
+                                    String proCode = rlsDetail.getProCode();
+                                    if (StringUtils.isNotBlank(proCode)) {
+                                        FsStoreOrderScrm order = fsStoreOrderScrmMapper.selectFsStoreOrderByOrderCode(orderNumber);
+                                        if (order != null && order.getStatus() == OrderInfoEnum.STATUS_1.getValue()) {
+                                            FsExpressScrm express = expressScrmService.selectFsExpressByOmsCode(order.getDeliveryCode());
+                                            if (express != null) {
+                                                order.setDeliveryName(proCode);
+                                                order.setDeliverySn(express.getOmsCode());
+                                            }
+                                            order.setStatus(OrderInfoEnum.STATUS_2.getValue());
+                                            order.setDeliveryId(mailNumber);
+                                            order.setDeliverySendTime(new Date());
+
+                                            fsStoreOrderScrmMapper.updateFsStoreOrder(order);
+                                            fsStoreOrderScrmLogsService.create(order.getId(), FsStoreOrderLogEnum.DELIVERY_GOODS.getValue(), FsStoreOrderLogEnum.DELIVERY_GOODS.getDesc());
+                                            //订阅物流回调
+//                                            String lastFourNumber = "";
+//                                            if (order.getDeliverySn().equals(ShipperCodeEnum.SF.getValue())) {
+//                                                lastFourNumber = order.getUserPhone();
+//                                                if (lastFourNumber.length() == 11) {
+//                                                    lastFourNumber = StrUtil.sub(lastFourNumber, lastFourNumber.length(), -4);
+//                                                }
+//                                            }
+//                                            expressService.subscribeEspress(order.getOrderCode(), order.getDeliverySn(), order.getDeliveryId(), lastFourNumber);
+
+//                                            TemplateBean templateBean = TemplateBean.builder()
+//                                                    .orderId(order.getId().toString())
+//                                                    .orderCode(order.getOrderCode().toString())
+//                                                    .deliveryId(order.getDeliveryId())
+//                                                    .deliveryName(order.getDeliveryName())
+//                                                    .userId(order.getUserId())
+//                                                    .templateType(TemplateListenEnum.TYPE_2.getValue())
+//                                                    .build();
+//                                            publisher.publishEvent(new TemplateEvent(this, templateBean));
+                                        }
+                                        flag.set(true);
+                                    }
+                                    break;
+                                }
+                            }
+
+                        }
+                        if (flag.get()) {
+                            break;
+                        }
+                    }
+
+                }
+            }
+        }
+    }
+
 }

+ 1 - 1
fs-service/src/main/java/com/fs/his/mapper/FsUserMapper.java

@@ -210,7 +210,7 @@ public interface FsUserMapper
     List<FsUser> findUsersByIds(@Param("userIds") List<Long> userIds);
 
     @Select({"<script> " +
-            "select user_id, nick_name, phone FROM fs_user where is_del=0 "+
+            "select user_id, nick_name,avatar, phone FROM fs_user where is_del=0 "+
             "  <if test=\"nickName != null  and nickName != ''\"> and nick_name like concat( #{nickName}, '%')</if>\n" +
             "            <if test=\"phone != null  and phone != ''\"> and phone =#{phone}</if>\n" +
             "order by user_id desc"+

+ 7 - 7
fs-service/src/main/java/com/fs/his/service/IFsDfAccountService.java

@@ -6,14 +6,14 @@ import com.fs.his.domain.FsDfAccount;
 
 /**
  * 代服账户Service接口
- * 
+ *
  * @author fs
  * @date 2025-10-13
  */
 public interface IFsDfAccountService extends IService<FsDfAccount>{
     /**
      * 查询代服账户
-     * 
+     *
      * @param id 代服账户主键
      * @return 代服账户
      */
@@ -21,7 +21,7 @@ public interface IFsDfAccountService extends IService<FsDfAccount>{
 
     /**
      * 查询代服账户列表
-     * 
+     *
      * @param fsDfAccount 代服账户
      * @return 代服账户集合
      */
@@ -29,7 +29,7 @@ public interface IFsDfAccountService extends IService<FsDfAccount>{
 
     /**
      * 新增代服账户
-     * 
+     *
      * @param fsDfAccount 代服账户
      * @return 结果
      */
@@ -37,7 +37,7 @@ public interface IFsDfAccountService extends IService<FsDfAccount>{
 
     /**
      * 修改代服账户
-     * 
+     *
      * @param fsDfAccount 代服账户
      * @return 结果
      */
@@ -45,7 +45,7 @@ public interface IFsDfAccountService extends IService<FsDfAccount>{
 
     /**
      * 批量删除代服账户
-     * 
+     *
      * @param ids 需要删除的代服账户主键集合
      * @return 结果
      */
@@ -53,7 +53,7 @@ public interface IFsDfAccountService extends IService<FsDfAccount>{
 
     /**
      * 删除代服账户信息
-     * 
+     *
      * @param id 代服账户主键
      * @return 结果
      */

+ 1 - 1
fs-service/src/main/java/com/fs/hisStore/mapper/FsStoreOrderScrmMapper.java

@@ -1029,7 +1029,7 @@ public interface FsStoreOrderScrmMapper
     @Select("select id from fs_store_order_scrm WHERE `status`= 1  and  extend_order_id is null ")
     List<Long> selectFsStoreOrderNoCreateOms();
 
-    @Select("select * from fs_store_order_scrm where status = 1 and extend_order_id is not null and delivery_id is null ")
+    @Select("select * from fs_store_order_scrm where status = 1 and extend_order_id is not null and extend_order_id != '' and delivery_id is null ")
     List<FsStoreOrderScrm> selectUpdateExpress();
 
     @Select("select fso.id from fs_store_order_scrm fso inner join fs_store_order_audit_scrm fsoa on fsoa.order_id = fso.id where fso.`status`= 1 and fso.extend_order_id is null and fsoa.audit_status = 4")

+ 2 - 0
fs-service/src/main/java/com/fs/hisStore/service/IFsStoreOrderScrmService.java

@@ -314,4 +314,6 @@ public interface IFsStoreOrderScrmService
     Map<String, BigDecimal> selectFsStoreOrderStatistics(FsStoreOrderParam param);
 
     String selectFsStoreOrderProductStatistics(FsStoreOrderParam param);
+
+    int create(Long orderId, String type, String msg);
 }

+ 29 - 8
fs-service/src/main/java/com/fs/hisStore/service/impl/FsStoreOrderScrmServiceImpl.java

@@ -352,6 +352,9 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
 
     //ERP 类型到服务的映射
     private Map<Integer, IErpOrderService> erpServiceMap;
+    @Autowired
+    private FsStoreOrderLogsScrmMapper fsStoreOrderLogsScrmMapper;
+
     @PostConstruct
     public void initErpServiceMap() {
         erpServiceMap = new HashMap<>();
@@ -1897,19 +1900,27 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
             payment.setPaytime(new Timestamp(timeLong));
         }
         payments.add(payment);
-        if (order.getCompanyId() != null) {
-
-            FsExpressScrm express = expressService.selectFsExpressByOmsCode("SF.0235402855");
+        if (CloudHostUtils.hasCloudHostName("康年堂")){
+            FsExpressScrm express = expressService.selectFsExpressByOmsCode("SF");
             erpOrder.setExpress_code(express.getOmsCode());
             order.setDeliveryName(express.getName());
             order.setDeliverySn(express.getCode());
-
         } else {
-            FsExpressScrm express = expressService.selectFsExpressByOmsCode("SF.0235402855");
-            erpOrder.setExpress_code(express.getOmsCode());
-            order.setDeliveryName(express.getName());
-            order.setDeliverySn(express.getCode());
+            if (order.getCompanyId() != null) {
+
+                FsExpressScrm express = expressService.selectFsExpressByOmsCode("SF.0235402855");
+                erpOrder.setExpress_code(express.getOmsCode());
+                order.setDeliveryName(express.getName());
+                order.setDeliverySn(express.getCode());
+
+            } else {
+                FsExpressScrm express = expressService.selectFsExpressByOmsCode("SF.0235402855");
+                erpOrder.setExpress_code(express.getOmsCode());
+                order.setDeliveryName(express.getName());
+                order.setDeliverySn(express.getCode());
+            }
         }
+
         erpOrder.setPayments(payments);
         if (order.getCompanyId() != null) {
             Company company = companyService.selectCompanyById(order.getCompanyId());
@@ -4468,6 +4479,16 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
         return fsStoreOrderMapper.selectFsStoreOrderProductStatistics(param);
     }
 
+    @Override
+    public int create(Long orderId, String type, String msg) {
+        FsStoreOrderLogsScrm logs=new FsStoreOrderLogsScrm();
+        logs.setOrderId(orderId);
+        logs.setChangeType(type);
+        logs.setChangeMessage(msg);
+        logs.setCreateTime(new Date());
+        return fsStoreOrderLogsScrmMapper.insertFsStoreOrderLogs(logs);
+    }
+
     private static final DateTimeFormatter CST_FORMATTER = DateTimeFormatter
             .ofPattern("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US)
             .withZone(ZoneId.of("Asia/Shanghai"));

+ 4 - 1
fs-service/src/main/java/com/fs/qw/mapper/QwExternalContactMapper.java

@@ -252,7 +252,10 @@ public interface QwExternalContactMapper extends BaseMapper<QwExternalContact> {
             "    )"+
             "</if> " +
 
-            "            <if test=\"remarkMobiles != null  and remarkMobiles != ''\"> and ec.remark_mobiles like concat( #{remarkMobiles}, '%')</if>\n" +
+//            "            <if test=\"remarkMobiles != null  and remarkMobiles != ''\"> and ec.remark_mobiles like concat( #{remarkMobiles}, '%')</if>\n" +
+            "<if test=\"remarkMobiles != null and remarkMobiles != ''\">\n" +
+            "    AND ec.search_mobile LIKE concat(#{remarkMobiles}, '%')\n" +
+            "</if>" +
             "            <if test=\"remark != null  and remark != ''\"> and ec.remark like concat('%', #{remark}, '%')</if>\n" +
             "            <if test=\"remarkCorpName != null  and remarkCorpName != ''\"> and ec.remark_corp_name like concat('%', #{remarkCorpName}, '%')</if>\n" +
             "            <if test=\"addWay != null \"> and ec.add_way = #{addWay}</if>\n" +

+ 4 - 0
fs-service/src/main/java/com/fs/qw/vo/QwFsUserVO.java

@@ -8,6 +8,10 @@ public class QwFsUserVO {
 
     /** 用户id */
     private Long userId;
+
+    /** 用户昵称 */
+    private String avatar;
+
     /** 用户昵称 */
     @Excel(name = "用户昵称")
     private String nickName;

+ 1 - 1
fs-service/src/main/resources/application-config-druid-ddgy.yml

@@ -68,7 +68,7 @@ fs :
   h5CommonApi: http://172.16.0.65:8010
   jwt:
     # 加密秘钥
-    secret: f4e2e52134348f16b27cde513c0f1e16
+    secret: f4e2e52034348f86b67cde581c0f9eb5
     # token有效时长,7天,单位秒
     expire: 31536000
     header: AppToken

+ 1 - 1
fs-service/src/main/resources/application-config-druid-hat.yml

@@ -68,7 +68,7 @@ fs :
   h5CommonApi: http://172.16.0.45:8010
   jwt:
     # 加密秘钥
-    secret: f4e2e12512448f86b67cde591c1f9e16
+    secret: f4e2e52034348f86b67cde581c0f9eb5
     # token有效时长,7天,单位秒
     expire: 31536000
     header: AppToken

+ 1 - 1
fs-service/src/main/resources/application-config-druid-hcl.yml

@@ -64,7 +64,7 @@ fs :
   h5CommonApi: http://192.168.0.93:8010
   jwt:
     # 加密秘钥
-    secret: f4e2e52034348f66b67cde591c0f9e16
+    secret: f4e2e52034348f86b67cde581c0f9eb5
     # token有效时长,7天,单位秒
     expire: 31536000
     header: AppToken

+ 1 - 1
fs-service/src/main/resources/application-config-druid-hdt.yml

@@ -67,7 +67,7 @@ fs :
   h5CommonApi: http://119.29.195.254:8010
   jwt:
     # 加密秘钥
-    secret: f4e2e52034348f86b67cde581c0f9eb6
+    secret: f4e2e52034348f86b67cde581c0f9eb5
     # token有效时长,7天,单位秒
     expire: 31536000
     header: AppToken

+ 1 - 1
fs-service/src/main/resources/application-config-druid-hst.yml

@@ -64,7 +64,7 @@ fs :
   h5CommonApi: http://172.16.0.26:7771
   jwt:
     # 加密秘钥
-    secret: f4e2e22034348f55b67cde544c0f9e16
+    secret: f4e2e52034348f86b67cde581c0f9eb5
     # token有效时长,7天,单位秒
     expire: 31536000
     header: AppToken

+ 1 - 1
fs-service/src/main/resources/application-config-druid-hyt.yml

@@ -59,7 +59,7 @@ fs :
   h5CommonApi: http://192.168.0.18:7771
   jwt:
     # 加密秘钥
-    secret: f4e2e52034348f86b67cde581c0f9e16
+    secret: f4e2e52034348f86b67cde581c0f9eb5
     # token有效时长,7天,单位秒
     expire: 31536000
     header: AppToken

+ 1 - 1
fs-service/src/main/resources/application-config-druid-jnmy.yml

@@ -62,7 +62,7 @@ fs :
   h5CommonApi: http://192.168.0.18:7771
   jwt:
     # 加密秘钥
-    secret: f4e2e52034348f86b67cde581c0f9eb8
+    secret: f4e2e52034348f86b67cde581c0f9eb5
     # token有效时长,7天,单位秒
     expire: 31536000
     header: AppToken

+ 1 - 1
fs-service/src/main/resources/application-config-druid-jnsyj.yml

@@ -67,7 +67,7 @@ fs :
   h5CommonApi: http://119.29.195.254:8010
   jwt:
     # 加密秘钥
-    secret: f4e2e52034348f86b67cde581c0f9e19
+    secret: f4e2e52034348f86b67cde581c0f9eb5
     # token有效时长,7天,单位秒
     expire: 31536000
     header: AppToken

+ 1 - 1
fs-service/src/main/resources/application-config-druid-jzzx.yml

@@ -68,7 +68,7 @@ fs :
   h5CommonApi: http://192.168.0.238:8010
   jwt:
     # 加密秘钥
-    secret: f4e2e52034348f86ba7caa581a0f9e16
+    secret: f4e2e52034348f86b67cde581c0f9eb5
     # token有效时长,7天,单位秒
     expire: 31536000
     header: AppToken

+ 6 - 0
fs-service/src/main/resources/application-config-druid-knt.yml

@@ -60,6 +60,12 @@ watch:
 fs :
   commonApi: http://192.168.0.196:7771
   h5CommonApi: http://192.168.0.196:7771
+  jwt:
+    # 加密秘钥
+    secret: f4e2e52034348f86b67cde581c0f9eb5
+    # token有效时长,7天,单位秒
+    expire: 31536000
+    header: AppToken
 nuonuo:
   key: 10924508
   secret: A2EB20764D304D16

+ 1 - 1
fs-service/src/main/resources/application-config-druid-kyt.yml

@@ -64,7 +64,7 @@ fs :
   h5CommonApi: http://172.17.0.10:8010
   jwt:
     # 加密秘钥
-    secret: f4e2e51032348f84b67cde591c0f9e16
+    secret: f4e2e52034348f86b67cde581c0f9eb5
     # token有效时长,7天,单位秒
     expire: 31536000
     header: AppToken

+ 1 - 1
fs-service/src/main/resources/application-config-druid-nmgyt.yml

@@ -67,7 +67,7 @@ fs :
   h5CommonApi: http://192.168.0.18:7771
   jwt:
     # 加密秘钥
-    secret: f4e2e52034348f86b67cde581c0f9e17
+    secret: f4e2e52034348f86b67cde581c0f9eb5
     # token有效时长,7天,单位秒
     expire: 31536000
     header: AppToken

+ 1 - 1
fs-service/src/main/resources/application-config-druid-qdtst.yml

@@ -64,7 +64,7 @@ fs :
   h5CommonApi: http://10.206.0.16:8010
   jwt:
     # 加密秘钥
-    secret: f4e2e52024343f56b67cde581c0f9e16
+    secret: f4e2e52034348f86b67cde581c0f9eb5
     # token有效时长,7天,单位秒
     expire: 31536000
     header: AppToken

+ 1 - 1
fs-service/src/main/resources/application-config-druid-sxjz.yml

@@ -68,7 +68,7 @@ fs :
   h5CommonApi: http://172.27.0.12:8010
   jwt:
     # 加密秘钥
-    secret: f4s2x52034348j86z67cde581c0f9e19
+    secret: f4e2e52034348f86b67cde581c0f9eb5
     # token有效时长,7天,单位秒
     expire: 31536000
     header: AppToken

+ 1 - 1
fs-service/src/main/resources/application-config-myhk.yml

@@ -67,7 +67,7 @@ fs :
   commonApi: http://172.27.0.7:8010
   jwt:
     # 加密秘钥
-    secret: f4e2e52034348f86b67cde581c0f9e10
+    secret: f4e2e52034348f86b67cde581c0f9eb5
     # token有效时长,7天,单位秒
     expire: 31536000
     header: AppToken

+ 1 - 1
fs-service/src/main/resources/application-config-zkzh.yml

@@ -136,7 +136,7 @@ fs:
   commonApi: http://172.21.76.167:8010
   jwt:
     # 加密秘钥
-    secret: f4e2e52034348f86b67cde581c0f9eb9
+    secret: f4e2e52034348f86b67cde581c0f9eb5
     # token有效时长,7天,单位秒
     expire: 31536000
     header: AppToken