yujian
2019-01-18 91816e627beceaf1073cfbc5e2cb70e57bfeae37
订单、红包状态bug优化
3个文件已修改
43 ■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/order/CommonOrderMapper.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderMapper.xml 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/order/CommonOrderMapper.java
@@ -39,7 +39,15 @@
            @Param("orderState") Integer orderState, @Param("orderNo") String orderNo,
            @Param("startTime") String startTime, @Param("endTime") String endTime, @Param("day") Integer day);
    /**
     * 判断部分失效状态
     * @param uid
     * @param orderNo
     * @return
     */
    CommonOrderVO getBuFenOrderState(@Param("uid") Long uid,  @Param("orderNo") String orderNo);
    /**
     * 根据用户ID,订单状态和订单结算时间统计订单的数量
     * 
fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderMapper.xml
@@ -615,6 +615,14 @@
        )A
    </select>
    <select id="getBuFenOrderState" resultMap="ResultMap">
        SELECT co.co_state,v2.`hb_state` AS hongBaoState  FROM `yeshi_ec_common_order` co
        LEFT JOIN  yeshi_ec_hongbao_order ho  ON co.`co_id`=ho.`ho_order_id`
        LEFT JOIN  yeshi_ec_hongbao_v2 v2 ON IF(v2.hb_pid IS NULL,v2.hb_id,v2.hb_pid)=ho.`ho_hongbao_id`
        WHERE co.`co_order_no` = #{orderNo} AND co.co_state<![CDATA[<>]]> 4 AND v2.hb_uid = #{uid}
        ORDER BY co.`co_state` DESC
        LIMIT 1
    </select>
    <select id="listQuery" resultMap="ResultMap">   
       
fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java
@@ -116,7 +116,7 @@
        }
        // 数据加工重新组织
        listDataFactory(listOrder, listGoods);
        listDataFactory(listOrder, listGoods, uid);
        return listOrder;
    }
@@ -148,7 +148,7 @@
        return commonOrderMapper.countByUidAndOrderState(uid, type, startTime, endTime, day);
    }
    public void listDataFactory(List<CommonOrderVO> listOrder, List<CommonOrderVO> listGoods) {
    public void listDataFactory(List<CommonOrderVO> listOrder, List<CommonOrderVO> listGoods, Long uid) {
        /* 组合商品信息 */
        for (CommonOrderVO commonOrder : listGoods) {
@@ -241,10 +241,25 @@
            /* 订单状态 转换处理 */
            String orderStateContent = "";
            Map<String, String> orderStateMap = new HashMap<String, String>();
            Integer hongBaoState = order.getHongBaoState();
            // 订单状态
            Integer orderState = order.getState();
            // 红包状态
            Integer hongBaoState = order.getHongBaoState();
            Integer stateWholeOrder = order.getStateWholeOrder();
            if (CommonOrder.STATE_WHOLE_ORDER_BUFENYOUXIAO == stateWholeOrder) {
                // 整个订单部分失效:判断真实状态 订单、红包
                CommonOrderVO buFenOrder = commonOrderMapper.getBuFenOrderState(uid, order.getOrderNo());
                if (buFenOrder != null) {
                    // 有效的订单状态
                    orderState = buFenOrder.getState();
                    // 有效的红包状态
                    hongBaoState = buFenOrder.getHongBaoState();
                }
            }
            if (CommonOrder.STATE_FK == orderState) {
                orderStateContent = "已付款";
            } else if (CommonOrder.STATE_JS == orderState) {