| | |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.*; |
| | | |
| | | import javax.annotation.Resource; |
| | | |
| | | import com.yeshi.fanli.entity.SystemEnum; |
| | | import com.yeshi.fanli.service.inter.order.pdd.PDDOrderService; |
| | | import org.apache.commons.beanutils.PropertyUtils; |
| | | import org.springframework.context.annotation.Lazy; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.yeshi.utils.DateUtil; |
| | |
| | | @Resource |
| | | private RocketMQManager rocketMQManager; |
| | | |
| | | @Lazy |
| | | @Resource |
| | | private PDDOrderService pddOrderService; |
| | | |
| | | // 奖励订单图片 |
| | | public final static String PIC_REWARD = "http://img.flqapp.com/resource/order/order_state_reward.png"; |
| | | |
| | |
| | | listPDD.add(commonOrderVO.getOrderNo()); |
| | | } |
| | | } |
| | | //查询拼多多的订单详情 |
| | | List<String> pddOrderSnList = new ArrayList<>(); |
| | | if (listPDD != null && listPDD.size() > 0) { |
| | | for (String orderSn : listPDD) |
| | | pddOrderSnList.add(orderSn); |
| | | } |
| | | List<PDDOrder> pddOrderList = pddOrderService.listByOrderSns(listPDD); |
| | | Set<String> bjOrders = new HashSet<>(); |
| | | if (pddOrderList != null) { |
| | | for (PDDOrder pdd : pddOrderList) |
| | | if (pdd.getFailReason() != null && pdd.getFailReason().contains("比价")) |
| | | bjOrders.add(pdd.getOrderSn()); |
| | | } |
| | | for (CommonOrderVO commonOrderVO : listOrder) { |
| | | if (commonOrderVO.getSourceType() == Constant.SOURCE_TYPE_PDD && bjOrders.contains(commonOrderVO.getOrderNo())) { |
| | | commonOrderVO.setOrderStateDesc("比价订单"); |
| | | } |
| | | } |
| | | |
| | | |
| | | List<UserSystemCouponRecord> listRecordTB = null; |
| | | if (listTB.size() > 0) { |
| | |
| | | hongBao = new BigDecimal(0); |
| | | } |
| | | |
| | | if (CommonOrder.STATE_FK == orderState) { |
| | | orderStateContent = "已付款"; |
| | | } else if (CommonOrder.STATE_JS == orderState) { |
| | | orderStateContent = "已收货"; |
| | | } else if (CommonOrder.STATE_SX == orderState) { |
| | | orderStateContent = "未付款/已退款"; |
| | | } else if (CommonOrder.STATE_WQ == orderState) { |
| | | orderStateContent = "已售后"; |
| | | if (sourceType != null && sourceType == Constant.SOURCE_TYPE_TAOBAO) { |
| | | /* 订单维权 判断是否全部维权 */ |
| | | List<TaoBaoWeiQuanOrder> listWQ = taoBaoWeiQuanOrderMapper |
| | | .selectListByOrderIdAndState(order.getOrderNo(), "维权成功"); |
| | | //判断状态是否预设了的 |
| | | if (!StringUtil.isNullOrEmpty(order.getOrderStateDesc())) { |
| | | orderStateContent = order.getOrderStateDesc(); |
| | | } else { |
| | | if (CommonOrder.STATE_FK == orderState) { |
| | | orderStateContent = "已付款"; |
| | | } else if (CommonOrder.STATE_JS == orderState) { |
| | | orderStateContent = "已收货"; |
| | | } else if (CommonOrder.STATE_SX == orderState) { |
| | | orderStateContent = "未付款/已退款"; |
| | | } else if (CommonOrder.STATE_WQ == orderState) { |
| | | orderStateContent = "已售后"; |
| | | if (sourceType != null && sourceType == Constant.SOURCE_TYPE_TAOBAO) { |
| | | /* 订单维权 判断是否全部维权 */ |
| | | List<TaoBaoWeiQuanOrder> listWQ = taoBaoWeiQuanOrderMapper |
| | | .selectListByOrderIdAndState(order.getOrderNo(), "维权成功"); |
| | | |
| | | boolean isPart = false;// 默认失效 |
| | | BigDecimal weiQuanMoney = getWeiQuanMoney(listWQ, sourceType, uid); |
| | | boolean isPart = false;// 默认失效 |
| | | BigDecimal weiQuanMoney = getWeiQuanMoney(listWQ, sourceType, uid); |
| | | |
| | | if (!VersionUtil.greaterThan_1_6_0(acceptData.getPlatform(), acceptData.getVersion())) { |
| | | if (isPart) { |
| | | hongBaoState = HongBaoV2.STATE_BUFENSHIXIAO; // 部分失效 |
| | | if (!VersionUtil.greaterThan_1_6_0(acceptData.getPlatform(), acceptData.getVersion())) { |
| | | if (isPart) { |
| | | hongBaoState = HongBaoV2.STATE_BUFENSHIXIAO; // 部分失效 |
| | | } else { |
| | | hongBaoState = HongBaoV2.STATE_SHIXIAO; // 全部失效 |
| | | } |
| | | } else { |
| | | hongBaoState = HongBaoV2.STATE_SHIXIAO; // 全部失效 |
| | | } |
| | | } else { |
| | | // 2019.8.1 返回维权信息 |
| | | if (settleTime != null && august != null && settleTime.getTime() > august.getTime()) { |
| | | orderStateContent = "售后成功"; |
| | | WeiQuanInfo weiQuanInfo = new WeiQuanInfo(); |
| | | weiQuanInfo.setOldHongBao("¥" + hongBao.setScale(2, BigDecimal.ROUND_DOWN).toString()); |
| | | weiQuanInfo |
| | | .setWqHongBao("售后:-¥" + weiQuanMoney.setScale(2, BigDecimal.ROUND_DOWN).toString()); |
| | | hongBao = MoneyBigDecimalUtil.sub(hongBao, weiQuanMoney); |
| | | order.setWeiQuanInfo(weiQuanInfo); |
| | | // 2019.8.1 返回维权信息 |
| | | if (settleTime != null && august != null && settleTime.getTime() > august.getTime()) { |
| | | orderStateContent = "售后成功"; |
| | | WeiQuanInfo weiQuanInfo = new WeiQuanInfo(); |
| | | weiQuanInfo.setOldHongBao("¥" + hongBao.setScale(2, BigDecimal.ROUND_DOWN).toString()); |
| | | weiQuanInfo |
| | | .setWqHongBao("售后:-¥" + weiQuanMoney.setScale(2, BigDecimal.ROUND_DOWN).toString()); |
| | | hongBao = MoneyBigDecimalUtil.sub(hongBao, weiQuanMoney); |
| | | order.setWeiQuanInfo(weiQuanInfo); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | && oldCommonOrder.getSourceType() != Constant.SOURCE_TYPE_JD) |
| | | || oldCommonOrder.getState() == CommonOrder.STATE_SX |
| | | || oldCommonOrder.getState() == CommonOrder.STATE_WQ |
| | | || (oldCommonOrder.getState().intValue() == commonOrder.getState())) { |
| | | || (oldCommonOrder.getState().intValue() == commonOrder.getState()&&oldCommonOrder.getPayment().compareTo(commonOrder.getPayment())==0)) { |
| | | return new CommonOrderAddResultDTO(oldCommonOrder, CommonOrderAddResultDTO.TYPE_NOUPDATE); |
| | | } |
| | | // 交易ID一致才修改 |
| | |
| | | |
| | | @Override |
| | | public List<CommonOrderVO> listQuery(long start, int count, Integer keyType, String key, Integer state, |
| | | Integer type, Integer orderState, String startTime, String endTime, Integer source, List<Long> listShopId, |
| | | List<Integer> typeList, Integer orderState, String startTime, String endTime, Integer source, List<Long> listShopId, |
| | | List<Long> listGoodsId, Date minTime, BigDecimal money, BigDecimal payment, SystemEnum system) throws CommonOrderException { |
| | | |
| | | List<CommonOrderVO> list = null; |
| | | |
| | | if (StringUtil.isNullOrEmpty(key) || keyType == 1) {// 搜索框无值或者按订单号搜索时都只搜索主订单 |
| | | list = commonOrderMapper.listQueryWithNoChild(start, count, keyType, key, state, type, orderState, |
| | | list = commonOrderMapper.listQueryWithNoChild(start, count, keyType, key, state, typeList, orderState, |
| | | startTime, endTime, source, payment, system); |
| | | } else { |
| | | list = commonOrderMapper.listQuery(start, count, keyType, key, state, type, orderState, startTime, endTime, |
| | | list = commonOrderMapper.listQuery(start, count, keyType, key, state, typeList, orderState, startTime, endTime, |
| | | source, listShopId, listGoodsId, minTime, money, payment, system); |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | @Override |
| | | public long countQuery(Integer keyType, String key, Integer state, Integer type, Integer orderState, |
| | | public long countQuery(Integer keyType, String key, Integer state, List<Integer> typeList, Integer orderState, |
| | | String startTime, String endTime, Integer source, List<Long> listShopId, List<Long> listGoodsId, |
| | | Date minTime, BigDecimal money, BigDecimal payment, SystemEnum system) throws CommonOrderException { |
| | | if (StringUtil.isNullOrEmpty(key) || keyType == 1) {// 搜索框无值或者按订单号搜索时都只搜索主订单 |
| | | return commonOrderMapper.countQueryWithNoChild(keyType, key, state, type, orderState, startTime, endTime, |
| | | return commonOrderMapper.countQueryWithNoChild(keyType, key, state, typeList, orderState, startTime, endTime, |
| | | source, payment, system); |
| | | } else { |
| | | return commonOrderMapper.countQuery(keyType, key, state, type, orderState, startTime, endTime, source, |
| | | return commonOrderMapper.countQuery(keyType, key, state, typeList, orderState, startTime, endTime, source, |
| | | listShopId, listGoodsId, minTime, money, payment, system); |
| | | } |
| | | } |
| | |
| | | listSuNing.add(order.getOrderNo()); |
| | | } |
| | | } |
| | | //查询拼多多的订单详情 |
| | | List<PDDOrder> pddOrderList = pddOrderService.listByOrderSns(listPDD); |
| | | Set<String> bjOrders = new HashSet<>(); |
| | | if (pddOrderList != null) { |
| | | for (PDDOrder pdd : pddOrderList) |
| | | if (pdd.getFailReason() != null && pdd.getFailReason().contains("比价")) |
| | | bjOrders.add(pdd.getOrderSn()); |
| | | } |
| | | for (CommonOrderVO commonOrderVO : listOrder) { |
| | | if (commonOrderVO.getSourceType() == Constant.SOURCE_TYPE_PDD && bjOrders.contains(commonOrderVO.getOrderNo())) { |
| | | commonOrderVO.setOrderStateDesc("比价订单"); |
| | | } |
| | | } |
| | | |
| | | List<UserSystemCouponRecord> listRecordTB = null; |
| | | if (listTB.size() > 0) { |
| | |
| | | |
| | | /* 订单状态 转换处理 */ |
| | | String orderStateContent = ""; |
| | | if (CommonOrder.STATE_FK == orderState) { |
| | | orderStateContent = "已付款"; |
| | | } else if (CommonOrder.STATE_JS == orderState) { |
| | | orderStateContent = "已收货"; |
| | | } else if (CommonOrder.STATE_SX == orderState) { |
| | | orderStateContent = "未付款/已退款"; |
| | | } else if (CommonOrder.STATE_WQ == orderState) { |
| | | orderStateContent = "已售后"; |
| | | if (sourceType == Constant.SOURCE_TYPE_TAOBAO) { |
| | | /* 订单维权 判断是否全部维权 */ |
| | | List<TaoBaoWeiQuanOrder> listWQ = taoBaoWeiQuanOrderMapper |
| | | .selectListByOrderIdAndState(order.getOrderNo(), "维权成功"); |
| | | BigDecimal weiQuanMoney = getWeiQuanMoney(listWQ, sourceType, uid); |
| | | if (!StringUtil.isNullOrEmpty(order.getOrderStateDesc())) |
| | | orderStateContent = order.getOrderStateDesc(); |
| | | else { |
| | | if (CommonOrder.STATE_FK == orderState) { |
| | | orderStateContent = "已付款"; |
| | | } else if (CommonOrder.STATE_JS == orderState) { |
| | | orderStateContent = "已收货"; |
| | | } else if (CommonOrder.STATE_SX == orderState) { |
| | | orderStateContent = "未付款/已退款"; |
| | | } else if (CommonOrder.STATE_WQ == orderState) { |
| | | orderStateContent = "已售后"; |
| | | if (sourceType == Constant.SOURCE_TYPE_TAOBAO) { |
| | | /* 订单维权 判断是否全部维权 */ |
| | | List<TaoBaoWeiQuanOrder> listWQ = taoBaoWeiQuanOrderMapper |
| | | .selectListByOrderIdAndState(order.getOrderNo(), "维权成功"); |
| | | BigDecimal weiQuanMoney = getWeiQuanMoney(listWQ, sourceType, uid); |
| | | |
| | | if (settleTime != null) { |
| | | orderStateContent = "售后成功"; |
| | | WeiQuanInfo weiQuanInfo = new WeiQuanInfo(); |
| | | weiQuanInfo.setOldHongBao("¥" + hongBao.setScale(2, BigDecimal.ROUND_DOWN).toString()); |
| | | weiQuanInfo.setWqHongBao("售后:-¥" + weiQuanMoney.setScale(2, BigDecimal.ROUND_DOWN).toString()); |
| | | order.setWeiQuanInfo(weiQuanInfo); |
| | | if (settleTime != null) { |
| | | orderStateContent = "售后成功"; |
| | | WeiQuanInfo weiQuanInfo = new WeiQuanInfo(); |
| | | weiQuanInfo.setOldHongBao("¥" + hongBao.setScale(2, BigDecimal.ROUND_DOWN).toString()); |
| | | weiQuanInfo.setWqHongBao("售后:-¥" + weiQuanMoney.setScale(2, BigDecimal.ROUND_DOWN).toString()); |
| | | order.setWeiQuanInfo(weiQuanInfo); |
| | | } |
| | | hongBao = MoneyBigDecimalUtil.sub(hongBao, weiQuanMoney); |
| | | } |
| | | hongBao = MoneyBigDecimalUtil.sub(hongBao, weiQuanMoney); |
| | | } |
| | | } |
| | | orderStateMap.put("content", orderStateContent); |