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) {