From 9d8dfb01ff72c57abad3b80f3d65e81a5354db03 Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期五, 12 七月 2019 09:10:38 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java | 152 ++++++++++++++++++++++++++++++++------------------ 1 files changed, 98 insertions(+), 54 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java index 208c811..396418a 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java @@ -20,6 +20,7 @@ import com.yeshi.fanli.dao.mybatis.order.CommonOrderTradeIdMapMapper; import com.yeshi.fanli.dao.mybatis.taobao.TaoBaoWeiQuanOrderMapper; import com.yeshi.fanli.dto.pdd.PDDGoodsDetail; +import com.yeshi.fanli.entity.accept.AcceptData; import com.yeshi.fanli.entity.bus.user.HongBaoV2; import com.yeshi.fanli.entity.bus.user.UserInfo; import com.yeshi.fanli.entity.bus.user.UserSystemCouponRecord; @@ -30,6 +31,7 @@ import com.yeshi.fanli.entity.order.CommonOrder; import com.yeshi.fanli.entity.order.CommonOrderGoods; import com.yeshi.fanli.entity.order.CommonOrderTradeIdMap; +import com.yeshi.fanli.entity.order.HongBaoOrder; import com.yeshi.fanli.entity.pdd.PDDOrder; import com.yeshi.fanli.entity.system.SystemCoupon.CouponTypeEnum; import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief; @@ -44,6 +46,7 @@ import com.yeshi.fanli.service.inter.goods.CommonGoodsService; import com.yeshi.fanli.service.inter.hongbao.HongBaoV2Service; import com.yeshi.fanli.service.inter.order.CommonOrderService; +import com.yeshi.fanli.service.inter.order.HongBaoOrderService; import com.yeshi.fanli.service.inter.user.UserSystemCouponRecordService; import com.yeshi.fanli.service.inter.user.UserSystemCouponService; import com.yeshi.fanli.util.Constant; @@ -98,6 +101,9 @@ @Resource private CommonGoodsService commonGoodsService; + @Resource + private HongBaoOrderService hongBaoOrderService; + // 濂栧姳璁㈠崟鍥剧墖 public final static String PIC_REWARD = "http://img.flqapp.com/resource/order/order_state_reward.png"; @@ -138,26 +144,26 @@ @Override public List<CommonOrderVO> listGroupOrderNoByUid(long start, int count, Long uid, Integer state, Integer type, - Integer orderState, String orderNo, String startTime, String endTime, Integer dateType) + Integer orderState, String orderNo, String startTime, String endTime, Integer dateType, Integer source) throws CommonOrderException { return commonOrderMapper.listUserOrder(start, count, uid, state, type, orderState, orderNo, startTime, endTime, - dateType); + dateType, source); } @Override public long countGroupOrderNoByUid(Long uid, Integer state, Integer type, Integer orderState, String orderNo, - String startTime, String endTime, Integer dateType) throws CommonOrderException { - return commonOrderMapper.countUserOrder(uid, state, type, orderState, orderNo, startTime, endTime, dateType); + String startTime, String endTime, Integer dateType, Integer source) throws CommonOrderException { + return commonOrderMapper.countUserOrder(uid, state, type, orderState, orderNo, startTime, endTime, dateType, source); } @Override - public List<CommonOrderVO> getOrderByUid(Integer page, Long uid, Integer state, Integer type, Integer orderState, - String orderNo, String startTime, String endTime, Integer dateType) throws CommonOrderException { + public List<CommonOrderVO> getOrderByUid(AcceptData acceptData,Integer page, Long uid, Integer state, Integer type, Integer orderState, + String orderNo, String startTime, String endTime, Integer dateType, Integer source) throws CommonOrderException { int pageSize = Constant.PAGE_SIZE; List<CommonOrderVO> listOrder = listGroupOrderNoByUid((page - 1) * pageSize, pageSize, uid, state, type, - orderState, orderNo, startTime, endTime, dateType); + orderState, orderNo, startTime, endTime, dateType, source); // 璁㈠崟淇℃伅涓虹┖ if (listOrder == null || listOrder.size() == 0) { @@ -173,24 +179,24 @@ } // 鏁版嵁鍔犲伐閲嶆柊缁勭粐 - listDataFactory(listOrder, listGoods, uid); + listDataFactory(acceptData, listOrder, listGoods, uid); return listOrder; } @Override - public Map<String, BigDecimal> countHistoryOrder(Long uid, Integer day) { - return commonOrderMapper.countHistoryOrder(uid, day); + public Map<String, BigDecimal> countHistoryOrder(Long uid, Integer day, Integer source) { + return commonOrderMapper.countHistoryOrder(uid, day, source); } @Override - public long countBonusOrderNumber(Long uid, Integer type, Integer day, String startTime, String endTime) { - return commonOrderMapper.countBonusOrderNumber(uid, type, day, startTime, endTime); + public long countBonusOrderNumber(Long uid, Integer type, Integer day, String startTime, String endTime, Integer source) { + return commonOrderMapper.countBonusOrderNumber(uid, type, day, startTime, endTime, source); } @Override - public BigDecimal countBonusOrderMoney(Long uid, Integer type, Integer day, String startTime, String endTime) { - return commonOrderMapper.countBonusOrderMoney(uid, type, day, startTime, endTime); + public BigDecimal countBonusOrderMoney(Long uid, Integer type, Integer day, String startTime, String endTime, Integer source) { + return commonOrderMapper.countBonusOrderMoney(uid, type, day, startTime, endTime, source); } @Override @@ -201,11 +207,11 @@ @Override public Map<String, BigDecimal> countByUidAndOrderState(Long uid, Integer type, String startTime, String endTime, - Integer day) { - return commonOrderMapper.countByUidAndOrderState(uid, type, startTime, endTime, day); + Integer day, Integer source) { + return commonOrderMapper.countByUidAndOrderState(uid, type, startTime, endTime, day, source); } - public void listDataFactory(List<CommonOrderVO> listOrder, List<CommonOrderVO> listGoods, Long uid) { + public void listDataFactory(AcceptData acceptData, List<CommonOrderVO> listOrder, List<CommonOrderVO> listGoods, Long uid) { List<String> listNo = new ArrayList<String>(); for (CommonOrderVO commonOrderVO : listOrder) { @@ -272,13 +278,19 @@ listOrderGoods.add(commonGoodsVO); - Integer orderType = commonOrder.getOrderType(); + Integer orderType = order.getOrderType(); if (orderType == null) { String shopType = commonGoodsVO.getShopType(); if (CommonOrderGoodsVO.TYPE_TAOBAO.equalsIgnoreCase(shopType)) { - commonOrder.setOrderType(1); + order.setOrderType(1); } else if (CommonOrderGoodsVO.TYPE_TMALL.equalsIgnoreCase(shopType)) { - commonOrder.setOrderType(2); + order.setOrderType(2); + } + + if (Constant.SOURCE_TYPE_JD == sourceType2) { + order.setOrderType(3); + } else if (Constant.SOURCE_TYPE_PDD == sourceType2) { + order.setOrderType(4); } } @@ -783,7 +795,8 @@ return commonOrder; } else {// 淇敼 // 宸茬粡缁撶畻鎴栬�呭凡缁忓け鏁堢殑璁㈠崟涓嶅鐞� - if (oldCommonOrder.getState() == CommonOrder.STATE_JS || oldCommonOrder.getState() == CommonOrder.STATE_SX) { + if (oldCommonOrder.getState() == CommonOrder.STATE_JS + || oldCommonOrder.getState() == CommonOrder.STATE_SX) { return oldCommonOrder; } // 浜ゆ槗ID涓�鑷存墠淇敼 @@ -907,6 +920,14 @@ if (list.size() == 0) { return list; } + + List<String> listNo = new ArrayList<String>(); + for (CommonOrderVO commonOrderVO : list) { + listNo.add(commonOrderVO.getOrderNo()); + } + // 宸茬粡浣跨敤鍒歌鍗� + List<UserSystemCouponRecord> couponRecordList = userSystemCouponRecordService.getRecordByOrderNoList(listNo); + SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); for (CommonOrderVO order : list) { @@ -984,6 +1005,28 @@ } } } + + // 濂栧姳璁㈠崟銆佸厤鍗� 浣跨敤璁板綍 + if (couponRecordList != null && couponRecordList.size() > 0) { + for (UserSystemCouponRecord couponRecord : couponRecordList) { + // 璁㈠崟鍙峰尮閰� + if (order.getOrderNo().equals(couponRecord.getOrderNo())) { + + String systemCouponType = couponRecord.getCouponType(); + Integer couponState = couponRecord.getState(); + if (CouponTypeEnum.freeCoupon.name().equals(systemCouponType) + || CouponTypeEnum.welfareFreeCoupon.name().equals(systemCouponType)) { + if (UserSystemCouponRecord.STATE_SUCCESS == couponState) { + // 鍏嶅崟鎴愬姛 + order.setOtherState(1); + } + } + + break; + } + } + } + } @@ -997,15 +1040,6 @@ return commonOrderMapper.countQuery(keyType, key, state, type, orderState, startTime, endTime); } - @Override - public CommonOrderVO getInfoByOrderNo(Long uid, String orderNo) throws CommonOrderException { - List<CommonOrderVO> list = getOrderByUid(1, uid, null, null, null, orderNo, null, null, null); - if (list == null || list.size() == 0) { - return null; - } else { - return list.get(0); - } - } @Override public CommonOrderVO getCommonOrderByOrderNo(Long uid, String orderNo, Integer orderState) @@ -1100,30 +1134,6 @@ return commonOrderVO; } - @Override - public List<CommonOrderVO> getCouponHongbaoByOrderNo(Long uid, Integer hongBaoState, String orderNo) - throws CommonOrderException { - - List<CommonOrderVO> listOrder = commonOrderMapper.getCouponHongbaoByOrderNo(uid, hongBaoState, orderNo); - - // 璁㈠崟淇℃伅涓虹┖ - if (listOrder == null || listOrder.size() == 0) { - listOrder = new ArrayList<CommonOrderVO>(); - return listOrder; - } - - // 鍟嗗搧淇℃伅 - List<CommonOrderVO> listGoods = commonOrderMapper.listOrderGoodsInfo(listOrder); - // 璁㈠崟鍟嗗搧涓虹┖ - if (listGoods == null || listGoods.size() == 0) { - return listOrder; - } - - // 鏁版嵁鍔犲伐閲嶆柊缁勭粐 - listDataFactory(listOrder, listGoods, uid); - - return listOrder; - } @Override public JSONObject getRewardJumpInfo(String orderNo) { @@ -1164,4 +1174,38 @@ return commonOrderMapper.selectBySourceTypeAndTradeId(sourceType, tradeId); } + @Transactional + @Override + public void deleteErrorCommonOrder(Long coId) { + // 鏌ヨ鏄惁杩斿埄鍒拌处 + HongBaoOrder hongBaoOrder = hongBaoOrderService.selectDetailByCommonOrderId(coId); + if (hongBaoOrder.getHongBaoV2().getState() == HongBaoV2.STATE_YILINGQU) + return; + List<HongBaoV2> hongBaoList = hongBaoV2Service.listChildrenById(hongBaoOrder.getHongBaoV2().getId()); + boolean canDelete = true; + for (HongBaoV2 child : hongBaoList) + if (child.getState() == HongBaoV2.STATE_YILINGQU) { + canDelete = false; + break; + } + // 涓嶈兘鍒犻櫎 + if (!canDelete) + return; + + // 鍒犻櫎child + for (HongBaoV2 child : hongBaoList) + hongBaoV2Service.deleteByPrimaryKey(child.getId()); + // 鍒犻櫎涓荤孩鍖� + hongBaoV2Service.deleteByPrimaryKey(hongBaoOrder.getHongBaoV2().getId()); + // 鍒犻櫎hongbaoOrder + hongBaoOrderService.deleteByPrimaryKey(hongBaoOrder.getId()); + // 鍒犻櫎CommonOrder + commonOrderMapper.deleteByPrimaryKey(hongBaoOrder.getCommonOrder().getId()); + } + + @Override + public List<CommonOrder> listBySourceTypeAndTradeId(int sourceType, String tradeId) { + return commonOrderMapper.listBySourceTypeAndTradeId(sourceType, tradeId); + } + } -- Gitblit v1.8.0