Explorar o código

Merge remote-tracking branch 'origin/bjcz_his_scrm' into bjcz_his_scrm

xw hai 19 horas
pai
achega
be8cb621f9

+ 7 - 9
fs-admin/src/main/java/com/fs/hisStore/controller/FsStoreHealthOrderScrmController.java

@@ -56,9 +56,6 @@ public class FsStoreHealthOrderScrmController extends BaseController {
     @Autowired
     private ICompanyMoneyLogsService moneyLogsService;
 
-    @Autowired
-    private IFsStoreProductScrmService productScrmService;
-
     // 允许的文件扩展名
     private static final String[] ALLOWED_EXCEL_EXTENSIONS = {".xlsx", ".xls"};
 
@@ -312,10 +309,8 @@ public class FsStoreHealthOrderScrmController extends BaseController {
             param.setBeginTime(null);
             param.setEndTime(null);
         }
-        if (fsStoreOrderService.isEntityNull(param)){
-            return AjaxResult.error("请筛选数据导出");
-        }else if(param.getProductId() == null || param.getProductId() <= 0L){
-            return AjaxResult.error("查询条件,请选择发货商品!");
+         if(fsStoreOrderService.isEntityNull(param)){
+           param = new FsStoreOrderParam();
         }
         if(!StringUtils.isEmpty(param.getCreateTimeRange())){
             param.setCreateTimeList(param.getCreateTimeRange().split("--"));
@@ -333,8 +328,11 @@ public class FsStoreHealthOrderScrmController extends BaseController {
         List<FsStoreOrderDeliveryNoteExportVO> storeOrderDeliveryNoteExportVOList=fsStoreOrderService.getDeliveryNote(param);
         ExcelUtil<FsStoreOrderDeliveryNoteExportVO> util = new ExcelUtil<>(FsStoreOrderDeliveryNoteExportVO.class);
         //通过商品ID获取关键字
-        FsStoreProductScrm productScrm = productScrmService.selectFsStoreProductById(param.getProductId());
-        String fileName="077AC"+productScrm.getKeyword()+new SimpleDateFormat("yyyyMMdd").format(new Date());
+        String firstKeyword = storeOrderDeliveryNoteExportVOList.stream()
+                .map(FsStoreOrderDeliveryNoteExportVO::getKeyword)
+                .findFirst()
+                .orElse("无订单");
+        String fileName="077AC"+firstKeyword+new SimpleDateFormat("yyyyMMdd").format(new Date());
         return util.exportExcel(storeOrderDeliveryNoteExportVOList, fileName);
     }
 

+ 7 - 6
fs-admin/src/main/java/com/fs/hisStore/controller/FsStoreOrderScrmController.java

@@ -731,10 +731,8 @@ public class FsStoreOrderScrmController extends BaseController {
             param.setBeginTime(null);
             param.setEndTime(null);
         }
-        if (fsStoreOrderService.isEntityNull(param)){
-            return AjaxResult.error("请筛选数据导出");
-        }else if(param.getProductId() == null || param.getProductId() <= 0L){
-            return AjaxResult.error("查询条件,请选择发货商品!");
+        if(fsStoreOrderService.isEntityNull(param)){
+            param = new FsStoreOrderParam();
         }
         if(!StringUtils.isEmpty(param.getCreateTimeRange())){
             param.setCreateTimeList(param.getCreateTimeRange().split("--"));
@@ -752,8 +750,11 @@ public class FsStoreOrderScrmController extends BaseController {
         List<FsStoreOrderDeliveryNoteExportVO> storeOrderDeliveryNoteExportVOList=fsStoreOrderService.getDeliveryNote(param);
         ExcelUtil<FsStoreOrderDeliveryNoteExportVO> util = new ExcelUtil<>(FsStoreOrderDeliveryNoteExportVO.class);
         //通过商品ID获取关键字
-        FsStoreProductScrm productScrm = productScrmService.selectFsStoreProductById(param.getProductId());
-        String fileName="077AC"+productScrm.getKeyword()+new SimpleDateFormat("yyyyMMdd").format(new Date());
+        String firstKeyword = storeOrderDeliveryNoteExportVOList.stream()
+                .map(FsStoreOrderDeliveryNoteExportVO::getKeyword)
+                .findFirst()
+                .orElse("无订单");
+        String fileName="077AC"+firstKeyword+new SimpleDateFormat("yyyyMMdd").format(new Date());
         return util.exportExcel(storeOrderDeliveryNoteExportVOList, fileName);
     }
 

+ 64 - 26
fs-service/src/main/java/com/fs/course/dto/FsOrderDeliveryNoteDTO.java

@@ -10,43 +10,81 @@ import java.math.BigDecimal;
  * **/
 @Data
 public class FsOrderDeliveryNoteDTO {
-    /**
-     * 系统订单号
-     * **/
-    @Excel(name = "系统订单号(必填)",width = 20,sort = 1)
+    //系统订单号
+    @Excel(name = "原始单号",width = 20,sort = 1)
     private String orderNumber;
 
-    @Excel(name = "物流公司编号(必填)(SF:顺丰、EMS:邮政、ZTO:中通、JD:京东、DBL:德邦)",width = 30,sort = 2)
-    private String deliverySn;
+    @Excel(name = "收件人",width = 10,sort = 2)
+    private String recipient;
 
-    private String deliveryName;
+    @Excel(name = "收件人手机",width = 20,sort = 3)
+    private String recipientPhone;
 
-    @Excel(name = "快递单号(必填)",width = 20,sort = 3)
-    private String deliveryId;
+    @Excel(name = "收件人电话",width = 20,sort = 4)
+    private String recipientTelephone;
+
+    //具体到某个街道和小区
+    @Excel(name = "收件人详细地址",width = 30,sort = 5)
+    private String recipientAddress;
+
+//    //省市区
+//    @Excel(name = "收货地址",width = 20,sort = 6)
+//    private String receivingAddress;
+
+    //编号和数量:662551*2
+    @Excel(name = "组合编号及数量",width = 20,sort = 7)
+    private String number;
+
+    //名称和数量:商品名称*2
+    @Excel(name = "组合名称及数量",width = 20,sort = 8)
+    private String nameAndNumber;
+
+    @Excel(name = "代收金额",width = 10,sort = 9)
+    private BigDecimal collectionAmount;
+
+    @Excel(name = "物流公司",width = 10,sort = 10)
+    private String logisticsCompany;
 
-    @Excel(name = "物流状态(0:暂无信息、1:已揽收、2:在途中、3:签收、4:问题件)",width = 40,sort = 4)
-    private Integer deliveryStatus;
+    @Excel(name = "物流产品",width = 10,sort = 11)
+    private String logisticsProduct;
 
-    @Excel(name = "物流结算费用",width = 20,sort = 5)
-    private BigDecimal deliveryPayMoney;
+    @Excel(name = "物流付款方式",width = 15,sort = 12)
+    private String logisticsPayMethod;
 
-    @Excel(name = "物流跟踪状态(311:快递柜或驿站签收、304:派件异常后最终签收、301:正常签收、211:已放入快递柜或驿站、202:派件中、201:到达派件城市、401:发货无信息、412:快递柜或驿站超时未取、407:退货未签收)",width = 40,sort = 6)
-    private Integer deliveryType;
+    @Excel(name = "包裹数",width = 10,sort = 13)
+    private Long packageNum;
 
-    @Excel(name = "物流结算状态(1:已结算、2:冻结、3:解冻、4:退回运费、5.调账)",width = 20,sort = 7)
-    private Integer deliveryPayStatus;
+    @Excel(name = "寄件人",width = 10,sort = 14)
+    private String sender;
 
-    @Excel(name = "快递账单日期",width = 20,sort = 8)
-    private String deliveryTime;
+    @Excel(name = "寄件人手机",width = 20,sort = 15)
+    private String senderPhone;
 
-    @Excel(name = "快递结算日期",width = 20,sort = 9)
-    private String deliveryPayTime;
+    @Excel(name = "寄件人电话",width = 20,sort = 16)
+    private String senderTelephone;
 
-//    /**
-//     * 发货状态
-//     * **/
-//    @Excel(name = "系统订单号(1:待发货、2:待收货、3:交易完成,-3:已取消)填写对应数字",width = 40,sort = 7)
-//    private Integer deliveryNoteStatus;
+    @Excel(name = "寄件公司",width = 10,sort = 17)
+    private String senderCompany;
+
+    //具体到某个街道和小区
+    @Excel(name = "寄件人详细地址",width = 30,sort = 18)
+    private String senderAddress;
+
+    @Excel(name = "出库仓库",width = 10,sort = 19)
+    private String outboundWarehouse;
+
+    @Excel(name = "订单付款方式",width = 10,sort = 20)
+    private String payMethod;
+
+    @Excel(name = "订单备注",width = 20,sort = 21)
+    private String orderNotes;
+
+    @Excel(name = "快递单号(必填)",width = 20,sort = 22)
+    private String deliveryId;
+
+    //物流编码
+    private String deliverySn;
 
+    //发货状态
     private Integer deliveryNoteStatus;
 }

+ 2 - 2
fs-service/src/main/java/com/fs/hisStore/mapper/FsStoreProductScrmMapper.java

@@ -167,9 +167,9 @@ public interface FsStoreProductScrmMapper
     @Update("update fs_store_product_scrm set stock=stock-#{num}, sales=sales+#{num}" +
             " where product_id=#{productId} and stock >= #{num}")
     int decProductAttrStock(@Param("productId")Long productId, @Param("num")Integer cartNum);
-    @Update("update fs_store_product_scrm set stock=stock+#{num}, sales=sales-#{num}" +
+    @Update("update fs_store_product_scrm set stock=stock+#{num}, sales=sales-#{sales}" +
             " where product_id=#{productId}")
-    int incStockDecSales( @Param("num")Long num, @Param("productId")Long productId);
+    int incStockDecSales( @Param("num")Long num,@Param("sales") Long sales, @Param("productId")Long productId);
     @Select("select * from fs_store_product_scrm where is_del=0 and is_show=1 and  is_new=1 and is_display=1 order by sort desc limit #{count}")
     List<FsStoreProductListQueryVO> selectFsStoreProductNewQuery(int count);
     @Select("select * from fs_store_product_scrm where is_del=0 and is_show=1 and  is_hot=1 and is_display=1 order by sort desc limit #{count}")

+ 69 - 38
fs-service/src/main/java/com/fs/hisStore/service/impl/FsStoreOrderScrmServiceImpl.java

@@ -3603,9 +3603,14 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
                 if (StringUtils.isEmpty(dto.getOrderNumber())) {
                     builder.append("数据第").append(i + 2).append("行系统订单为空!").append(System.lineSeparator());
                 } else {
+                    //处理订单ID信息
+                    String originalOrderNumber = dto.getOrderNumber();
+                    String processedOrderNumber = extractNumbers(originalOrderNumber);
+                    dto.setOrderNumber(processedOrderNumber);
                     orderCodeList.add(dto.getOrderNumber());
                 }
             }
+
             //批量查询订单信息
             if (orderCodeList.isEmpty()) {
                 return R.ok(builder.toString());
@@ -3615,7 +3620,7 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
             Map<String, List<FsStoreOrderCodeOpenIdVo>> orderDetailsMap = new HashMap<>(orderCodeOpenIdVoList.size());
 
             for (FsStoreOrderCodeOpenIdVo vo : orderCodeOpenIdVoList) {
-                orderMap.computeIfAbsent(vo.getOrderCode(), k -> {
+                orderMap.computeIfAbsent(vo.getId(), k -> {
                     OrderOpenIdTransDTO dto = new OrderOpenIdTransDTO();
                     dto.setOpenId(vo.getOpenId());
                     dto.setTransactionId(vo.getOutTransId());
@@ -3623,7 +3628,7 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
                 });
 
                 orderDetailsMap
-                        .computeIfAbsent(vo.getOrderCode(), k -> new ArrayList<>())
+                        .computeIfAbsent(vo.getId(), k -> new ArrayList<>())
                         .add(vo);
             }
             final WxMaService wxService = WxMaConfiguration.getMaService(appId);
@@ -3642,31 +3647,31 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
                     continue;
                 }
 
-                if (StringUtils.isEmpty(dto.getDeliverySn())) {
+                if (StringUtils.isEmpty(dto.getLogisticsCompany())) {
                     builder.append("数据第").append(rowNum).append("行快递公司编号为空!")
                             .append(System.lineSeparator());
                     continue;
                 }
-                if (dto.getDeliveryStatus() == null) {
-                    dto.setDeliveryStatus(0);
-                }
-                if (ObjectUtil.isNotNull(dto.getDeliveryTime())) {
-                    dto.setDeliveryTime(parseCstToDateOnlyString(dto.getDeliveryTime()));
-                }
-
-                if (ObjectUtil.isNotNull(dto.getDeliveryPayTime()) &&
-                        !dto.getDeliveryPayTime().isEmpty()) {
-                    dto.setDeliveryPayTime(parseCstToDateOnlyString(dto.getDeliveryPayTime()));
-                }
+//                if (dto.getDeliveryStatus() == null) {
+//                    dto.setDeliveryStatus(0);
+//                }
+//                if (ObjectUtil.isNotNull(dto.getDeliveryTime())) {
+//                    dto.setDeliveryTime(parseCstToDateOnlyString(dto.getDeliveryTime()));
+//                }
+//
+//                if (ObjectUtil.isNotNull(dto.getDeliveryPayTime()) &&
+//                        !dto.getDeliveryPayTime().isEmpty()) {
+//                    dto.setDeliveryPayTime(parseCstToDateOnlyString(dto.getDeliveryPayTime()));
+//                }
                 // 验证快递公司
-                String deliveryName = expressDeliveryMap.get(dto.getDeliverySn());
-                if (deliveryName == null) {
+                String deliverySn = expressDeliveryMap.get(dto.getLogisticsCompany());
+                if (deliverySn == null) {
                     builder.append("数据第").append(rowNum).append("行订单号为")
-                            .append(dto.getOrderNumber()).append("物流编码异常")
+                            .append(dto.getOrderNumber()).append("物流公司名称异常")
                             .append(System.lineSeparator());
                     continue;
                 }
-                dto.setDeliveryName(deliveryName);
+                dto.setDeliverySn(deliverySn);
 
                 // 检查订单是否存在
                 String orderNumber = dto.getOrderNumber();
@@ -3690,6 +3695,7 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
                     successList.add(dto);
                 }
             }
+
             //批量更新数据
             if (!successList.isEmpty()) {
                 batchUpdateDeliveryNotes(successList);
@@ -3859,9 +3865,14 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
             if(StringUtils.isEmpty(fsPayConfig.getRefundConsignee()) || StringUtils.isEmpty(fsPayConfig.getRefundPhoneNumber())){
                 throw new ServiceException("导出失败,请在系统配置里的商城配置页面,设置退货人信息!");
             }
-            n.setSender("007"+fsPayConfig.getRefundConsignee()+"A");
+            n.setSender("007"+fsPayConfig.getRefundConsignee()+"AC");
             n.setSenderPhone(fsPayConfig.getRefundPhoneNumber());
             n.setSenderCompany(fsPayConfig.getRefundPhoneNumber());
+            if(StringUtils.isEmpty(n.getOrderNotes())){
+                n.setOrderNotes(n.getSender());
+            }else {
+                n.setSender(n.getOrderNotes());
+            }
         });
         return noteExportVOS;
     }
@@ -3887,17 +3898,24 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
             request.setDeliveryMode(1);
             request.setLogisticsType(1);
             List<ShippingListBean> shippingList = new ArrayList<>(orderDetails.size());
+            ShippingListBean shippingListBean = null;
             for (FsStoreOrderCodeOpenIdVo detail : orderDetails) {
-                ShippingListBean shippingListBean = new ShippingListBean();
-                shippingListBean.setTrackingNo(dto.getDeliveryId());
-                shippingListBean.setExpressCompany(dto.getDeliverySn());
-                JSONObject js = JSON.parseObject(detail.getJsonInfo());
-                shippingListBean.setItemDesc(js.getString("productName"));
-                ContactBean contactBean = new ContactBean();
-                contactBean.setReceiverContact(detail.getPhone());
-                shippingListBean.setContact(contactBean);
-                shippingList.add(shippingListBean);
+                if(shippingListBean == null){
+                    shippingListBean=new ShippingListBean();
+                    shippingListBean.setTrackingNo(dto.getDeliveryId());
+                    shippingListBean.setExpressCompany(dto.getDeliverySn());
+                    JSONObject js = JSON.parseObject(detail.getJsonInfo());
+                    shippingListBean.setItemDesc(js.getString("productName"));
+                    ContactBean contactBean = new ContactBean();
+                    contactBean.setReceiverContact(detail.getPhone());
+                    shippingListBean.setContact(contactBean);
+                }else {
+                    //拼接
+                    JSONObject js = JSON.parseObject(detail.getJsonInfo());
+                    shippingListBean.setItemDesc(shippingListBean.getItemDesc()+"-"+js.getString("productName"));
+                }
             }
+            shippingList.add(shippingListBean);
             request.setShippingList(shippingList);
             request.setUploadTime(uploadTime);
             // 设置支付者信息
@@ -3948,24 +3966,37 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
         }
     }
 
-    public static String parseCstToDateOnlyString(String cstDateStr) {
-        LocalDateTime dateTime = parseCstToLocalDateTime(cstDateStr);
-        return dateTime != null ? dateTime.format(DATE_ONLY_FORMATTER) : null;
-    }
+//    public static String parseCstToDateOnlyString(String cstDateStr) {
+//        LocalDateTime dateTime = parseCstToLocalDateTime(cstDateStr);
+//        return dateTime != null ? dateTime.format(DATE_ONLY_FORMATTER) : null;
+//    }
     private static final Map<String, String> EXPRESS_DELIVERY_MAP = createExpressDeliveryMap();
 
     private static Map<String, String> createExpressDeliveryMap() {
         Map<String, String> map = new HashMap<>();
-        map.put("SF", "顺丰");
-        map.put("EMS", "邮政");
-        map.put("ZTO", "中通");
-        map.put("JD", "京东");
-        map.put("DBL", "德邦");
-        map.put("YT", "圆通");
+        map.put("顺丰", "SF");
+        map.put("邮政", "EMS");
+        map.put("中通", "ZTO");
+        map.put("京东", "JD");
+        map.put("德邦", "DBL");
+        map.put("圆通", "YT");
         return map;
     }
 
     public Map<String, String> buildExpressDeliveryMap() {
         return EXPRESS_DELIVERY_MAP;
     }
+
+    //高性能截取订单ID
+    private static String extractNumbers(String str) {
+        if (str == null || str.isEmpty()) {
+            return "";
+        }
+        int start = 0;
+        int len = str.length();
+        while (start < len && !Character.isDigit(str.charAt(start))) {
+            start++;
+        }
+        return start < len ? str.substring(start) : "";
+    }
 }

+ 13 - 1
fs-service/src/main/java/com/fs/hisStore/service/impl/FsStoreProductScrmServiceImpl.java

@@ -685,8 +685,20 @@ public class FsStoreProductScrmServiceImpl implements IFsStoreProductScrmService
         if (productAttrValueId!=null) {
             attrValueService.incProductAttrStock(num, productId, productAttrValueId);
         }
+
+        //避免销量出现负数
+        FsStoreProductScrm productScrm=fsStoreProductMapper.selectFsStoreProductById(productId);
+        Long sales = 0L;
+        if(productScrm.getSales() != null && productScrm.getSales() > 0L){
+            if(productScrm.getSales() < num){
+                sales = productScrm.getSales();
+            }else {
+                sales = num;
+            }
+        }
+
         //先处理商品库存
-        fsStoreProductMapper.incStockDecSales(num, productId);
+        fsStoreProductMapper.incStockDecSales(num,sales,productId);
 
     }
 

+ 7 - 2
fs-service/src/main/java/com/fs/hisStore/vo/FsStoreOrderCodeOpenIdVo.java

@@ -5,10 +5,15 @@ import lombok.Data;
 import java.io.Serializable;
 @Data
 public class FsStoreOrderCodeOpenIdVo implements Serializable {
+//    /**
+//     * 订单编码
+//     * **/
+//    private String orderCode;
+
     /**
-     * 订单编码
+     * 订单id
      * **/
-    private String orderCode;
+    private String id;
 
     /**
      * 用户openId

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

@@ -79,4 +79,6 @@ public class FsStoreOrderDeliveryNoteExportVO implements Serializable {
 
     @Excel(name = "订单备注",width = 20,sort = 21)
     private String orderNotes;
+
+    private String keyword;
 }

+ 10 - 67
fs-service/src/main/resources/mapper/hisStore/FsStoreOrderScrmMapper.xml

@@ -885,81 +885,29 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <set>
             delivery_sn = CASE
             <foreach collection="list" item="item">
-                WHEN order_code = #{item.orderNumber} THEN #{item.deliverySn}
+                WHEN id = #{item.orderNumber} THEN #{item.deliverySn}
             </foreach>
             ELSE delivery_sn
             END,
             delivery_name = CASE
             <foreach collection="list" item="item">
-                WHEN order_code = #{item.orderNumber} THEN #{item.deliveryName}
+                WHEN id = #{item.orderNumber} THEN #{item.logisticsCompany}
             </foreach>
             ELSE delivery_name
             END,
             delivery_id = CASE
             <foreach collection="list" item="item">
-                WHEN order_code = #{item.orderNumber} THEN #{item.deliveryId}
+                WHEN id = #{item.orderNumber} THEN #{item.deliveryId}
             </foreach>
             ELSE delivery_id
             END,
-
-            delivery_status = CASE
-            <foreach collection="list" item="item">
-                WHEN order_code = #{item.orderNumber} THEN #{item.deliveryStatus}
-            </foreach>
-            ELSE delivery_status
-            END,
-
             status = CASE
             WHEN status = 1 THEN 2
             ELSE status
             END,
-            delivery_send_time = NOW(),
-            <if test="list != null and list.size() > 0 and list[0].deliveryPayMoney != null">
-                delivery_pay_money = CASE
-                <foreach collection="list" item="item">
-                    WHEN order_code = #{item.orderNumber} THEN #{item.deliveryPayMoney}
-                </foreach>
-                ELSE delivery_pay_money
-                END,
-            </if>
-
-            <if test="list != null and list.size() > 0 and list[0].deliveryType != null">
-                delivery_type = CASE
-                <foreach collection="list" item="item">
-                    WHEN order_code = #{item.orderNumber} THEN #{item.deliveryType}
-                </foreach>
-                ELSE delivery_type
-                END,
-            </if>
-
-            <if test="list != null and list.size() > 0 and list[0].deliveryPayStatus != null">
-                delivery_pay_status = CASE
-                <foreach collection="list" item="item">
-                    WHEN order_code = #{item.orderNumber} THEN #{item.deliveryPayStatus}
-                </foreach>
-                ELSE delivery_pay_status
-                END,
-            </if>
-
-            <if test="list != null and list.size() > 0 and list[0].deliveryTime != null">
-                delivery_time = CASE
-                <foreach collection="list" item="item">
-                    WHEN order_code = #{item.orderNumber} THEN #{item.deliveryTime}
-                </foreach>
-                ELSE delivery_time
-                END,
-            </if>
-
-            <if test="list != null and list.size() > 0 and list[0].deliveryPayTime != null">
-                delivery_pay_time = CASE
-                <foreach collection="list" item="item">
-                    WHEN order_code = #{item.orderNumber} THEN #{item.deliveryPayTime}
-                </foreach>
-                ELSE delivery_pay_time
-                END
-            </if>
+            delivery_send_time = NOW()
         </set>
-        WHERE order_code IN
+        WHERE id IN
         <foreach collection="list" item="item" open="(" separator="," close=")">
             #{item.orderNumber}
         </foreach>
@@ -974,7 +922,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
     <select id="selectOrderCodeOpenIdInOrderCode" resultType="com.fs.hisStore.vo.FsStoreOrderCodeOpenIdVo">
         SELECT
-        os.order_code,
+        os.id,
         fu.phone,
         fu.ma_open_id openId,
         ois.json_info,
@@ -984,7 +932,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         INNER JOIN fs_user fu ON os.user_id = fu.user_id
         INNER JOIN fs_store_order_item_scrm ois ON ois.order_id = os.id
         INNER JOIN fs_store_payment_scrm sps ON os.id=sps.order_id
-                                                  WHERE os.order_code IN <foreach collection="list" index="index" item="item" open="(" separator="," close=")">
+                                                  WHERE os.id IN <foreach collection="list" index="index" item="item" open="(" separator="," close=")">
         #{item}
     </foreach>
     AND  sps.`status` = 1
@@ -1001,6 +949,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             sos.paid = 1
           AND sps.business_type = 2
           AND sos.`status` = 2
+          AND sps.`status`=1
           AND DATEDIFF(
                       NOW(),
                       sos.delivery_send_time
@@ -1028,7 +977,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         '1' AS packageNum,
         '北京市通州区嘉创五路3号东升联启大院快递电商库' AS senderAddress,
         '077' AS outboundWarehouse,
-        CONCAT('077', o.mark, 'A') AS orderNotes
+        CASE WHEN o.company_id IS NULL THEN NULL ELSE CONCAT('077',cu.user_name,'+',cu.nick_name, 'AC') END AS orderNotes,
+        sps.keyword
         FROM
         fs_store_order_scrm o
         LEFT JOIN fs_store_order_item_scrm sois
@@ -1132,13 +1082,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <if test="maps.isUpload != null and maps.isUpload == 1">
             AND o.certificates IS NOT NULL
         </if>
-        AND EXISTS (
-        SELECT 1
-        FROM fs_store_order_item_scrm sois2
-        LEFT JOIN fs_store_product_scrm sps2 ON sois2.product_id = sps2.product_id
-        WHERE sois2.order_id = o.id
-        AND sps2.product_id = #{maps.productId}
-        )
         ${maps.params.dataScope}
         AND o.paid = 1
         GROUP BY o.id