From 2147d023563a7c9d05d97547c00d6b0162c0644c Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期一, 09 十一月 2020 18:37:24 +0800 Subject: [PATCH] 刷单风险规则优化 --- fanli/src/main/java/com/yeshi/fanli/service/impl/order/tb/TaoBaoWeiQuanOrderServiceImpl.java | 232 ++++++++++++++++++++++++++++++--------------------------- 1 files changed, 121 insertions(+), 111 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/tb/TaoBaoWeiQuanOrderServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/tb/TaoBaoWeiQuanOrderServiceImpl.java index 4f16e9e..fe5cd00 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/tb/TaoBaoWeiQuanOrderServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/tb/TaoBaoWeiQuanOrderServiceImpl.java @@ -6,6 +6,9 @@ import javax.annotation.Resource; +import com.yeshi.fanli.exception.money.TeamRewardDebtException; +import com.yeshi.fanli.exception.order.TaoBaoOrderException; +import com.yeshi.fanli.service.manger.order.TeamRewardManager; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -31,133 +34,140 @@ @Service public class TaoBaoWeiQuanOrderServiceImpl implements TaoBaoWeiQuanOrderService { - @Resource - private TaoBaoWeiQuanOrderMapper taoBaoWeiQuanOrderMapper; + @Resource + private TaoBaoWeiQuanOrderMapper taoBaoWeiQuanOrderMapper; - @Resource - private UserOrderMsgNotificationService userOrderMsgNotificationService; + @Resource + private TeamRewardManager teamRewardManager; - @Resource - private MsgOrderDetailService msgOrderDetailService; - @Resource - private CommonOrderService commonOrderService; + @Resource + private CommonOrderService commonOrderService; - @Resource - private UserOrderWeiQuanRecordService userOrderWeiQuanRecordService; + @Resource + private UserOrderWeiQuanRecordService userOrderWeiQuanRecordService; - @Resource - private RocketMQManager rocketMQManager; + @Resource + private RocketMQManager rocketMQManager; - @Transactional(rollbackFor = Exception.class) - @Override - public void addWeiQuanOrder(TaoBaoWeiQuanOrder order) { - if (order == null) - return; + @Transactional(rollbackFor = Exception.class) + @Override + public void addWeiQuanOrder(TaoBaoWeiQuanOrder order) { + if (order == null) + return; - boolean isAdd = false; - boolean isUpdate = false; - Long id = null; + boolean isAdd = false; + boolean isUpdate = false; + Long id = null; - TaoBaoWeiQuanOrder taoBaoWeiQuanOrder = taoBaoWeiQuanOrderMapper - .selectByOrderIdAndOrderItemId(order.getOrderId(), order.getOrderItemId()); - if (taoBaoWeiQuanOrder != null) { - id = taoBaoWeiQuanOrder.getId(); - // 宸茬粡鏄渶鏂扮殑鐘舵�佷簡 - if (taoBaoWeiQuanOrder.getState() != null && (taoBaoWeiQuanOrder.getState().contains("缁存潈鎴愬姛"))) - return; - // 鏇存柊閲戦锛岀姸鎬佷笌鏃堕棿 - TaoBaoWeiQuanOrder update = new TaoBaoWeiQuanOrder(); - update.setId(taoBaoWeiQuanOrder.getId()); - update.setFanMoney(order.getFanMoney()); - update.setJieSuanTime(order.getJieSuanTime()); - update.setMoney(order.getMoney()); - update.setState(order.getState()); - update.setUpdateTime(new Date()); - update.setWeiQuanFinishTime(order.getWeiQuanFinishTime()); - taoBaoWeiQuanOrderMapper.updateByPrimaryKeySelective(update); - isUpdate = true; - try { - if (order.getState().contains("缁存潈鎴愬姛")) { - // 鏇存敼CommonOrder鐨勭姸鎬� - CommonOrder commonOrder = commonOrderService - .selectBySourceTypeAndTradeId(Constant.SOURCE_TYPE_TAOBAO, order.getOrderItemId()); - if (commonOrder != null) { - CommonOrder updateCommonOrder = new CommonOrder(commonOrder.getId()); - updateCommonOrder.setState(CommonOrder.STATE_WQ); - updateCommonOrder.setUpdateTime(new Date()); - commonOrderService.updateByPrimaryKeySelective(updateCommonOrder); - userOrderWeiQuanRecordService.addTaoBaoWeiQuan(taoBaoWeiQuanOrder); - } - } - } catch (Exception e) { + TaoBaoWeiQuanOrder taoBaoWeiQuanOrder = taoBaoWeiQuanOrderMapper + .selectByOrderIdAndOrderItemId(order.getOrderId(), order.getOrderItemId()); + if (taoBaoWeiQuanOrder != null) { + id = taoBaoWeiQuanOrder.getId(); + // 宸茬粡鏄渶鏂扮殑鐘舵�佷簡 + if (taoBaoWeiQuanOrder.getState() != null && (taoBaoWeiQuanOrder.getState().contains("缁存潈鎴愬姛"))) + return; + // 鏇存柊閲戦锛岀姸鎬佷笌鏃堕棿 + TaoBaoWeiQuanOrder update = new TaoBaoWeiQuanOrder(); + update.setId(taoBaoWeiQuanOrder.getId()); + update.setFanMoney(order.getFanMoney()); + update.setJieSuanTime(order.getJieSuanTime()); + update.setMoney(order.getMoney()); + update.setState(order.getState()); + update.setUpdateTime(new Date()); + update.setWeiQuanFinishTime(order.getWeiQuanFinishTime()); + taoBaoWeiQuanOrderMapper.updateByPrimaryKeySelective(update); + isUpdate = true; + try { + if (order.getState().contains("缁存潈鎴愬姛")) { + weiQuanSuccess(order); + } + } catch (Exception e) { - } - } else { - order.setCreateTime(new Date()); - order.setUpdateTime(new Date()); - taoBaoWeiQuanOrderMapper.insertSelective(order); - id = order.getId(); - isAdd = true; - if (order.getState().contains("缁存潈鎴愬姛")) { - // 鏇存敼CommonOrder鐨勭姸鎬� - CommonOrder commonOrder = commonOrderService.selectBySourceTypeAndTradeId(Constant.SOURCE_TYPE_TAOBAO, - order.getOrderItemId()); - if (commonOrder != null) { - CommonOrder updateCommonOrder = new CommonOrder(commonOrder.getId()); - updateCommonOrder.setState(CommonOrder.STATE_WQ); - updateCommonOrder.setUpdateTime(new Date()); - commonOrderService.updateByPrimaryKeySelective(updateCommonOrder); - userOrderWeiQuanRecordService.addTaoBaoWeiQuan(order); - } - } - } + } + } else { + order.setCreateTime(new Date()); + order.setUpdateTime(new Date()); + taoBaoWeiQuanOrderMapper.insertSelective(order); + id = order.getId(); + isAdd = true; + if (order.getState().contains("缁存潈鎴愬姛")) { + weiQuanSuccess(order); + } + } - // 澧炲姞鎴栦慨鏀� - if (isAdd || isUpdate) { - if (id != null) { - OrderWeiQuanMQMsg msg = new OrderWeiQuanMQMsg(order.getOrderId(), order.getOrderItemId(), - Constant.SOURCE_TYPE_TAOBAO); - Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_ORDER, OrderTopicTagEnum.taoBaoOrderWeiQuan, - msg); - rocketMQManager.sendNormalMsg(message, null); - } - } + // 澧炲姞鎴栦慨鏀� + if (isAdd || isUpdate) { + if (id != null) { + OrderWeiQuanMQMsg msg = new OrderWeiQuanMQMsg(order.getOrderId(), order.getOrderItemId(), + Constant.SOURCE_TYPE_TAOBAO); + Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_ORDER, OrderTopicTagEnum.taoBaoOrderWeiQuan, + msg); + rocketMQManager.sendNormalMsg(message, null); + } + } - } + } - @Override - public List<TaoBaoWeiQuanOrder> getWeiQuanSuccessOrders(String orderId) { - return taoBaoWeiQuanOrderMapper.selectListByOrderIdAndState(orderId, "缁存潈鎴愬姛"); - } - @Override - public TaoBaoWeiQuanOrder listByorderItemId(String tradeId) { - return taoBaoWeiQuanOrderMapper.selectByOrderItemId(tradeId); - } + /** + * 缁存潈鎴愬姛 + * + * @param order + */ + private void weiQuanSuccess(TaoBaoWeiQuanOrder order) { + // 鏇存敼CommonOrder鐨勭姸鎬� + CommonOrder commonOrder = commonOrderService.selectBySourceTypeAndTradeId(Constant.SOURCE_TYPE_TAOBAO, + order.getOrderItemId()); + if (commonOrder != null) { + CommonOrder updateCommonOrder = new CommonOrder(commonOrder.getId()); + updateCommonOrder.setState(CommonOrder.STATE_WQ); + updateCommonOrder.setUpdateTime(new Date()); + commonOrderService.updateByPrimaryKeySelective(updateCommonOrder); + userOrderWeiQuanRecordService.addTaoBaoWeiQuan(order); + try { + teamRewardManager.weiQuan(order.getOrderId(), Constant.SOURCE_TYPE_TAOBAO, order.getOrderItemId()); + } catch (TaoBaoOrderException e) { + e.printStackTrace(); + } catch (TeamRewardDebtException e) { + e.printStackTrace(); + } + } - @Override - public List<TaoBaoWeiQuanOrder> listByState(String state, int page, int pageSize) { - return taoBaoWeiQuanOrderMapper.listByState(state, (page - 1) * pageSize, pageSize); - } + } - @Override - public long countByState(String state) { - return taoBaoWeiQuanOrderMapper.countByState(state); - } + @Override + public List<TaoBaoWeiQuanOrder> getWeiQuanSuccessOrders(String orderId) { + return taoBaoWeiQuanOrderMapper.selectListByOrderIdAndState(orderId, "缁存潈鎴愬姛"); + } - @Override - public List<TaoBaoWeiQuanOrder> listByOrderId(String orderId) { - return taoBaoWeiQuanOrderMapper.listByOrderId(orderId); - } + @Override + public TaoBaoWeiQuanOrder listByorderItemId(String tradeId) { + return taoBaoWeiQuanOrderMapper.selectByOrderItemId(tradeId); + } - @Override - public TaoBaoWeiQuanOrder selectByTradeId(String tradeId) { - return taoBaoWeiQuanOrderMapper.selectByOrderItem(tradeId); - } + @Override + public List<TaoBaoWeiQuanOrder> listByState(String state, int page, int pageSize) { + return taoBaoWeiQuanOrderMapper.listByState(state, (page - 1) * pageSize, pageSize); + } - @Override - public List<TaoBaoWeiQuanOrder> listByBeginWeiQuan(int page, int pageSize) { - return taoBaoWeiQuanOrderMapper.listByBeginWeiQuan((page - 1) * pageSize, pageSize); - } + @Override + public long countByState(String state) { + return taoBaoWeiQuanOrderMapper.countByState(state); + } + + @Override + public List<TaoBaoWeiQuanOrder> listByOrderId(String orderId) { + return taoBaoWeiQuanOrderMapper.listByOrderId(orderId); + } + + @Override + public TaoBaoWeiQuanOrder selectByTradeId(String tradeId) { + return taoBaoWeiQuanOrderMapper.selectByOrderItem(tradeId); + } + + @Override + public List<TaoBaoWeiQuanOrder> listByBeginWeiQuan(int page, int pageSize) { + return taoBaoWeiQuanOrderMapper.listByBeginWeiQuan((page - 1) * pageSize, pageSize); + } } -- Gitblit v1.8.0