yujian
2019-04-22 b6c37e4bc38db88a360d0f2c6099183f9bb75bdc
fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java
@@ -32,6 +32,7 @@
import com.yeshi.fanli.service.inter.common.JumpDetailV2Service;
import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.config.SystemCouponService;
import com.yeshi.fanli.service.inter.hongbao.HongBaoV2Service;
import com.yeshi.fanli.service.inter.order.CommonOrderService;
import com.yeshi.fanli.service.inter.user.UserSystemCouponRecordService;
import com.yeshi.fanli.service.inter.user.UserSystemCouponService;
@@ -40,6 +41,7 @@
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.factory.CommonOrderGoodsFactory;
import com.yeshi.fanli.util.taobao.TaoBaoOrderUtil;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
import com.yeshi.fanli.vo.msg.ClientTextStyleVO;
import com.yeshi.fanli.vo.order.CommonOrderGoodsVO;
@@ -74,14 +76,17 @@
   @Resource
   private SystemCouponService systemCouponService;
   
   @Resource
   private HongBaoV2Service hongBaoV2Service;
   
   // 奖励订单图片
   public final static String PIC_REWARD= "http://192.168.1.200/icon/jl.png";
   public final static String PIC_REWARD= "http://img.flqapp.com/resource/order/order_state_reward.png";
   
   // 免单状态图片
   public final static String PIC_FREE_ON = "http://192.168.1.200/icon/state1.png";
   public final static String PIC_FREE_FAIL =  "http://192.168.1.200/icon/state2.png";
   public final static String PIC_FREE_SUCCEED =  "http://192.168.1.200/icon/state3.png";
   public final static String PIC_FREE_ON = "http://img.flqapp.com/resource/order/order_state_freeing.png";
   public final static String PIC_FREE_FAIL =  "http://img.flqapp.com/resource/order/order_state_free_fail.png";
   public final static String PIC_FREE_SUCCEED =  "http://img.flqapp.com/resource/order/order_state_free_suc.png";
   @Override
@@ -248,7 +253,7 @@
                  totalSettlement = commonOrder.getTotalPayment();
               }
               // 实付款
               commonGoodsVO.setActualPay("实付款:¥" + totalSettlement);
               commonGoodsVO.setActualPay("付款金额:¥" + totalSettlement);
               listOrderGoods.add(commonGoodsVO);
@@ -435,109 +440,117 @@
         hongBaoMap.put("fontColor", hongbaoInfoFontColor);
         order.setHongBaoInfo(hongBaoMap);
         
         // 是否免单商品
         boolean freeOrder = false;
         // 是否奖励成功
         boolean rewardSuccess = false;
         // 奖励订单、免单
         if (couponRecordList != null && couponRecordList.size() > 0) {
         // 非自购的订单 不显示返利、免单详情
         if (HongBaoV2.TYPE_ZIGOU != hongBaoType) {
            // 订单标识
            order.setSignList(signList);
            
            for (UserSystemCouponRecord couponRecord: couponRecordList) {
               // 订单号匹配
               if (order.getOrderNo().equals(couponRecord.getOrderNo())) {
                  String systemCouponType = couponRecord.getCouponType();
                  Integer state = couponRecord.getState();
                  // 奖励订单: 且成功
                  if (CouponTypeEnum.rebatePercentCoupon.name().equals(systemCouponType)
                        && UserSystemCouponRecord.STATE_SUCCESS == state) {
                     rewardSuccess = true;
                     signList.add(PIC_REWARD); // 加入奖励成功图片
         } else {
            // 是否免单商品
            boolean freeOrder = false;
            // 是否奖励成功
            boolean rewardSuccess = false;
            // 奖励订单、免单 使用记录
            if (couponRecordList != null && couponRecordList.size() > 0) {
               for (UserSystemCouponRecord couponRecord: couponRecordList) {
                  // 订单号匹配
                  if (order.getOrderNo().equals(couponRecord.getOrderNo())) {
                     
                  } else if (CouponTypeEnum.freeCoupon.name().equals(systemCouponType)
                        || CouponTypeEnum.welfareFreeCoupon.name().equals(systemCouponType)) {
                     String systemCouponType = couponRecord.getCouponType();
                     Integer state = couponRecord.getState();
                     
                      if (UserSystemCouponRecord.STATE_FREE_ON == state) {
                        // 免单中
                         freeOrder = true;
                         signList.add(PIC_FREE_ON);
                     } else if (UserSystemCouponRecord.STATE_SUCCESS == state) {
                        // 免单成功
                        freeOrder = true;
                        signList.add(PIC_FREE_SUCCEED);
                     } else if (UserSystemCouponRecord.STATE_FAIL_RULE == state || UserSystemCouponRecord.STATE_FAIL_DRAWBACK == state) {
                        // 规则不匹配、退款
                        freeOrder = true;
                        signList.add(PIC_FREE_FAIL);
                     }
                     // 奖励订单: 且成功
                     if (CouponTypeEnum.rebatePercentCoupon.name().equals(systemCouponType)
                           && UserSystemCouponRecord.STATE_SUCCESS == state) {
                        rewardSuccess = true;
                        signList.add(PIC_REWARD); // 加入奖励成功图片
                     } else if (CouponTypeEnum.freeCoupon.name().equals(systemCouponType)
                           || CouponTypeEnum.welfareFreeCoupon.name().equals(systemCouponType)) {
                         if (UserSystemCouponRecord.STATE_FREE_ON == state) {
                           // 免单中
                            freeOrder = true;
                            signList.add(PIC_FREE_ON);
                        } else if (UserSystemCouponRecord.STATE_SUCCESS == state) {
                           // 免单成功
                           freeOrder = true;
                           signList.add(PIC_FREE_SUCCEED);
                        } else if (UserSystemCouponRecord.STATE_FAIL_RULE == state || UserSystemCouponRecord.STATE_FAIL_DRAWBACK == state) {
                           // 规则不匹配、退款
                           freeOrder = true;
                           signList.add(PIC_FREE_FAIL);
                        }
                     }
                     break;
                  }
                  break;
               }
            }
            // 订单标识
            order.setSignList(signList);
            boolean rewardOrder = false;
            int type = 1; // 1 常规跳转页面  2弹出选项(奖励券)
            if (rewardSuccess) {
               // 奖励成功
               rewardOrder = true;
            } else if(hasRewardCoupon && !freeOrder && HongBaoV2.TYPE_ZIGOU == hongBaoType &&
                  HongBaoV2.STATE_YILINGQU == hongBaoState) {
               // 有可用的奖励券 、非免单订单 、且已到账的 、返利订单
               type = 2;
               rewardOrder = true;
            }
            if (rewardOrder) {
               ClientTextStyleVO rewardStyleVO = new ClientTextStyleVO();
               // 奖励券进度详情
               rewardStyleVO.setContent("返利奖励 >");
               rewardStyleVO.setColor( "#E5005C");
               rewardStyleVO.setBottomColor("#FFDCEA");
               Map<String, Object> jumpLink = new HashMap<String,Object>();
               jumpLink.put("orderNo", order.getOrderNo());
               Map<String, Object> jump = new HashMap<String,Object>();
               jump.put("type", type);
                jump.put("params", jumpLink);
                jump.put("jumpDetail", jumpDetailV2Service.getByTypeCache("rewardCouponDetail"));
                Map<String, Object> rewardMap = new HashMap<String,Object>();
                rewardMap.put("text", rewardStyleVO);
                rewardMap.put("jump", jump);
               order.setRewardDetail(rewardMap);
            }
            if (freeOrder) {
               ClientTextStyleVO rewardStyleVO = new ClientTextStyleVO();
               // 返利、免单详情
               rewardStyleVO.setContent("免单详情 >");
               rewardStyleVO.setColor( "#E5005C");
               rewardStyleVO.setBottomColor("#FFDCEA");
               Map<String, Object> jumpLink = new HashMap<String,Object>();
               jumpLink.put("orderNo", order.getOrderNo());
               Map<String, Object> jump = new HashMap<String,Object>();
               jump.put("type", 1); // 页面跳转
                jump.put("params", jumpLink);
                jump.put("jumpDetail", jumpDetailV2Service.getByTypeCache("freeCouponDetail"));
                Map<String, Object> rewardMap = new HashMap<String,Object>();
                rewardMap.put("text", rewardStyleVO);
                rewardMap.put("jump", jump);
               order.setRewardDetail(rewardMap);
            }
         }
         // 订单标识
         order.setSignList(signList);
         boolean rewardOrder = false;
         int type = 1; // 1 常规跳转页面  2弹出选项(奖励券)
         if (rewardSuccess) {
            // 奖励成功
            rewardOrder = true;
         } else if(hasRewardCoupon && !freeOrder && HongBaoV2.STATE_YILINGQU == hongBaoState) {
            // 有可用的奖励券 、非免单订单 、且已到账的
            type = 2;
            rewardOrder = true;
         }
         if (rewardOrder) {
            ClientTextStyleVO rewardStyleVO = new ClientTextStyleVO();
            // 奖励券进度详情
            rewardStyleVO.setContent("返利奖励 >");
            rewardStyleVO.setColor( "#E5005C");
            rewardStyleVO.setBottomColor("#FFDCEA");
            Map<String, Object> jumpLink = new HashMap<String,Object>();
            jumpLink.put("orderNo", order.getOrderNo());
            Map<String, Object> jump = new HashMap<String,Object>();
            jump.put("type", type);
             jump.put("params", jumpLink);
             jump.put("jumpDetail", jumpDetailV2Service.getByTypeCache("rewardCouponDetail"));
             Map<String, Object> rewardMap = new HashMap<String,Object>();
             rewardMap.put("text", rewardStyleVO);
             rewardMap.put("jump", jump);
            order.setRewardDetail(rewardMap);
         }
         if (freeOrder) {
            ClientTextStyleVO rewardStyleVO = new ClientTextStyleVO();
            // 返利、免单详情
            rewardStyleVO.setContent("免单详情 >");
            rewardStyleVO.setColor( "#E5005C");
            rewardStyleVO.setBottomColor("#FFDCEA");
            Map<String, Object> jumpLink = new HashMap<String,Object>();
            jumpLink.put("orderNo", order.getOrderNo());
            Map<String, Object> jump = new HashMap<String,Object>();
            jump.put("type", 1); // 页面跳转
             jump.put("params", jumpLink);
             jump.put("jumpDetail", jumpDetailV2Service.getByTypeCache("freeCouponDetail"));
             Map<String, Object> rewardMap = new HashMap<String,Object>();
             rewardMap.put("text", rewardStyleVO);
             rewardMap.put("jump", jump);
            order.setRewardDetail(rewardMap);
         }
      }
   }
@@ -587,6 +600,7 @@
                  taoBaoGoods = TaoKeApiUtil.getSimpleGoodsInfo(taoBaoOrder.getAuctionId());
               } catch (TaobaoGoodsDownException e) {
                  e.printStackTrace();
                  taoBaoGoods=TaoBaoUtil.getSimpleGoodsBrief(taoBaoOrder.getAuctionId());
               }
               if (taoBaoGoods != null) {
                  goods = CommonOrderGoodsFactory.create(taoBaoGoods);
@@ -620,6 +634,7 @@
            updateCommonOrder.setState(newCommonOrder.getState());
            updateCommonOrder.setStateWholeOrder(wholeOrderState);
            updateCommonOrder.setUpdateTime(new Date());
            updateCommonOrder.setTradeId(newCommonOrder.getTradeId());
            commonOrderMapper.updateByPrimaryKeySelective(updateCommonOrder);
            commonOrderList.add(commonOrderMapper.selectByPrimaryKey(updateCommonOrder.getId()));
            continue;
@@ -783,6 +798,29 @@
            // 已失效
            order.setHongBaoState(3);
         }
         List<HongBaoV2> listhb = hongBaoV2Service.listChildrenById(order.getHongbaoId());
         if (listhb != null && listhb.size() > 0) {
            if (listhb.size() == 1) {
               UserInfo userInfo = listhb.get(0).getUserInfo();
               if (userInfo != null) {
                  order.setLevelOneId(userInfo.getId()+"");
                  order.setLevelOneMoney(listhb.get(0).getMoney() + "");
               }
            } else if (listhb.size() == 2) {
               UserInfo userInfo = listhb.get(0).getUserInfo();
               if (userInfo != null) {
                  order.setLevelOneId(userInfo.getId()+"");
                  order.setLevelOneMoney(listhb.get(0).getMoney() + "");
               }
               UserInfo userInfo2 = listhb.get(1).getUserInfo();
               if (userInfo2 != null) {
                  order.setLevelTwoId(userInfo2.getId()+"");
                  order.setLevelTwoMoney(listhb.get(1).getMoney() + "");
               }
            }
         }
      }
@@ -877,7 +915,7 @@
               totalSettlement = commonOrder.getTotalPayment();
            }
            // 实付款
            commonGoodsVO.setActualPay("实付款:¥" + totalSettlement);
            commonGoodsVO.setActualPay("付款金额:¥" + totalSettlement);
            listOrderGoods.add(commonGoodsVO);