Преглед на файлове

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

# Conflicts:
#	src/main/java/com/caimei/service/order/impl/OrderServiceImpl.java
lijun преди 5 години
родител
ревизия
5bd94fa76a

+ 22 - 1
src/main/java/com/caimei/controller/order/OrderController.java

@@ -3,11 +3,14 @@ package com.caimei.controller.order;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.caimei.entity.CmOperationUser;
+import com.caimei.entity.CmOrder;
+import com.caimei.entity.Page;
 import com.caimei.entity.WxJsonModel;
 import com.caimei.service.order.OrderService;
 import com.caimei.utils.HttpRequest;
 import com.caimei.utils.JsonMapper;
 import com.caimei.utils.SessionHelper;
+import com.github.pagehelper.PageHelper;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -19,6 +22,7 @@ import org.springframework.web.bind.annotation.ResponseBody;
 
 import javax.servlet.http.HttpServletRequest;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -201,11 +205,28 @@ public class OrderController {
      * 物流详情
      */
     @ResponseBody
-    @RequestMapping("/")
+    @RequestMapping("/logistics")
     public WxJsonModel logistics(Integer orderID) {
         WxJsonModel model = WxJsonModel.newInstance();
         Map<String, Object> map = orderService.logistics(orderID);
         return model.success(map);
     }
+
+    /**
+     * 查询我的订单
+     *
+     * @param orderState 订单状态
+     * @return
+     */
+    @ResponseBody
+    @RequestMapping("/myOrder")
+    public WxJsonModel myOrder(Integer orderState, Integer userID, Integer index, Integer pageSize) {
+        WxJsonModel model = WxJsonModel.newInstance();
+        if (userID == null) return model.error("参数异常");
+        PageHelper.startPage(index, pageSize);
+        List<CmOrder> orderList = orderService.myOrder(userID, orderState);
+        Page<CmOrder> page = new Page<>(orderList);
+        return model.success(page);
+    }
 }
 

+ 7 - 0
src/main/java/com/caimei/entity/CmLogisticsRecord.java

@@ -21,6 +21,7 @@ public class CmLogisticsRecord implements Serializable {
     private Integer productID;        // 商品ID
     private String productName;        // 商品名称
     private String image;        // 商品图片
+    private Integer organizeProductID;  //组织的商品Id,关联cm_mall_organize_products表ID[适用于组织订单]
 
 
     public Integer getId() {
@@ -103,5 +104,11 @@ public class CmLogisticsRecord implements Serializable {
         this.image = image;
     }
 
+    public Integer getOrganizeProductID() {
+        return organizeProductID;
+    }
 
+    public void setOrganizeProductID(Integer organizeProductID) {
+        this.organizeProductID = organizeProductID;
+    }
 }

+ 10 - 0
src/main/java/com/caimei/entity/CmOrder.java

@@ -1,6 +1,7 @@
 package com.caimei.entity;
 
 import java.io.Serializable;
+import java.util.List;
 
 public class CmOrder implements Serializable {
     private Integer orderID;        // orderID
@@ -58,6 +59,7 @@ public class CmOrder implements Serializable {
     private String payStatus;//(付款供应商)付款状态:1待付款、2部分付款、3已付款
     private String sendOutStatus;//发货状态:1待发货、2部分发货、3已发货
     private String refundType;//退货退款类型:1部分退、2全部退
+    private List<CmShopOrder> shopOrderList; //子订单集合
 
     public Integer getOrderID() {
         return orderID;
@@ -498,6 +500,14 @@ public class CmOrder implements Serializable {
     public void setRefundType(String refundType) {
         this.refundType = refundType;
     }
+
+    public List<CmShopOrder> getShopOrderList() {
+        return shopOrderList;
+    }
+
+    public void setShopOrderList(List<CmShopOrder> shopOrderList) {
+        this.shopOrderList = shopOrderList;
+    }
 }
 
 

+ 2 - 0
src/main/java/com/caimei/mapper/order/OrderMapper.java

@@ -42,4 +42,6 @@ public interface OrderMapper {
     CmMallShareCodeRecord findShareCodeRecord(@Param("openid") String openid, @Param("orderID") Integer orderID);
 
     void saveShareCodeRecord(CmMallShareCodeRecord codeRecord);
+
+    List<CmOrder> findAllOrder(@Param("userID") Integer userID, @Param("orderState") Integer orderState);
 }

+ 4 - 0
src/main/java/com/caimei/service/order/OrderService.java

@@ -1,7 +1,9 @@
 package com.caimei.service.order;
 
+import com.caimei.entity.CmOrder;
 import com.caimei.entity.WxJsonModel;
 
+import java.util.List;
 import java.util.Map;
 
 public interface OrderService {
@@ -16,4 +18,6 @@ public interface OrderService {
     WxJsonModel saveOrderInfo(WxJsonModel wxJsonModel, Integer userId, Integer organizeID, String cartType, Integer addressID, Object orderInfo, String balanceDeductionFlag, Double orderShouldPayFee, Integer cmOperationID);
 
     WxJsonModel verifyShareCode(String shareCode, String openid, Integer orderID, Integer userID, Integer organizeID);
+
+    List<CmOrder> myOrder(Integer userID, Integer orderState);
 }

+ 32 - 4
src/main/java/com/caimei/service/order/impl/OrderServiceImpl.java

@@ -86,11 +86,11 @@ public class OrderServiceImpl implements OrderService {
         FreePostageCard freePostageCard = orderMapper.queryFree(userId);
         String freight = "";
         if (freePostageCard != null && classifyIDS.contains("3")) {
-            freight = "仪器到付,产品包邮";
+            freight = "-2";
         } else if (freePostageCard != null) {
-            freight = "包邮";
+            freight = "0";
         } else {
-            freight = "到付";
+            freight = "-1";
         }
         //客服热线号码
         String cellPhone = loginMapper.cellPhone(organizeID);
@@ -192,13 +192,16 @@ public class OrderServiceImpl implements OrderService {
         //支付记录
         List<CmDiscernReceipt> discernReceiptList = orderMapper.findDiscernReceipt(orderID);
         //退款记录
-        List<CmReturnedPurchase> returnedPurchaseList = orderMapper.findReturnedPurchase(orderID);
+        List<CmReturnedPurchase> returnedPurchaseList = orderMapper.findReturnedPurchase(order.getOrderID());
+        //客服热线号码
+        String cellPhone = loginMapper.cellPhone(orderID);
         map.put("order", order);
         map.put("userInfo", userInfo);
         map.put("shopOrderList", shopOrderList);
         map.put("invoice", invoice);
         map.put("discernReceiptList", discernReceiptList);
         map.put("returnedPurchaseList", returnedPurchaseList);
+        map.put("cellPhone", cellPhone);
         return map;
     }
 
@@ -391,6 +394,7 @@ public class OrderServiceImpl implements OrderService {
                 logisticsRecord.setImage(AppUtils.getImageURL("product", logisticsRecord.getImage(), 0, domain));
             }
             shopOrder.setCmLogisticsRecords(logisticsRecordList);
+            shopOrder.setShopLogo(AppUtils.getImageURL("shopLogo", shopOrder.getShopLogo(), 0, domain));
         }
         //物流信息
         List<LogisticsInfo> logisticsInfoList = orderMapper.findLogisticsInfo(orderID);
@@ -402,4 +406,28 @@ public class OrderServiceImpl implements OrderService {
         map.put("shopOrderList", shopOrderList);
         return map;
     }
+
+    @Override
+    public List<CmOrder> myOrder(Integer userID, Integer orderState) {
+        List<CmOrder> orderList = orderMapper.findAllOrder(userID, orderState);
+        for (CmOrder order : orderList) {
+            String[] ShopOrderIDs = {};
+            if (order.getShopOrderIDs().contains(",")) {
+                ShopOrderIDs = order.getShopOrderIDs().split(",");
+            } else {
+                ShopOrderIDs = new String[]{order.getShopOrderIDs()};
+            }
+            List<CmShopOrder> shopOrderList = orderMapper.findAllShopOrder(ShopOrderIDs);
+            for (CmShopOrder shopOrder : shopOrderList) {
+                List<CmOrderProduct> orderProductList = orderMapper.findOrderProduct(shopOrder.getShopOrderID());
+                for (CmOrderProduct orderProduct : orderProductList) {
+                    orderProduct.setProductImage(AppUtils.getImageURL("product", orderProduct.getProductImage(), 0, domain));
+                }
+                shopOrder.setCmOrderProducts(orderProductList);
+                shopOrder.setShopLogo(AppUtils.getImageURL("shopLogo", shopOrder.getShopLogo(), 0, domain));
+            }
+            order.setShopOrderList(shopOrderList);
+        }
+        return orderList;
+    }
 }

+ 30 - 4
src/main/resources/mapper/OrderMapper.xml

@@ -187,16 +187,18 @@
           logistics_information li
           LEFT JOIN cm_logistics_batch clb ON clb.id = li.logisticsBatchID
         WHERE
-          orderID = #{orderID}
+          li.orderID = #{orderID}
     </select>
 
     <select id="findLogisticsRecord" resultType="com.caimei.entity.CmLogisticsRecord" parameterType="int">
         SELECT
-          *
+          clr.*,
+          cop.organizeProductID
         FROM
-          cm_logistics_record
+          cm_logistics_record clr
+          LEFT JOIN cm_order_product cop ON clr.orderProductID = cop.orderProductID
         WHERE
-          shopOrderID = #{shopOrderID}
+          clr.shopOrderID = #{shopOrderID}
     </select>
 
     <select id="findShareCodeRecord" resultType="com.caimei.entity.CmMallShareCodeRecord">
@@ -223,4 +225,28 @@
             #{delFlag}
           )
     </insert>
+
+    <select id="findAllOrder" resultType="com.caimei.entity.CmOrder">
+        SELECT
+          *
+        FROM
+          cm_order
+        WHERE
+          userID = #{userID}
+          AND delFlag = '0'
+        <if test="orderState == 1 ">
+            AND status IN(11,12,13,21,22,23)
+        </if>
+        <if test="orderState == 2 ">
+            AND status IN(11,12,21,22,31,32)
+        </if>
+        <if test="orderState == 3 ">
+            AND status IN(12,13,22,23,32,33)
+        </if>
+        <if test="orderState == 4 ">
+            AND refundType IN(1,2)
+        </if>
+        ORDER BY
+          orderTime DESC
+    </select>
 </mapper>