From 8c04d27e5cebb7e654c208533e9567c4df2c8acc Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期四, 12 十二月 2019 14:21:44 +0800 Subject: [PATCH] 券时间限制 --- fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderMoneySettleServiceImpl.java | 85 +++++++++++++++++++++++------------------- 1 files changed, 46 insertions(+), 39 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderMoneySettleServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderMoneySettleServiceImpl.java index 2b17f89..c37fa76 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderMoneySettleServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderMoneySettleServiceImpl.java @@ -28,7 +28,8 @@ import com.yeshi.fanli.dao.mybatis.order.HongBaoOrderMapper; import com.yeshi.fanli.dao.mybatis.taobao.TaoBaoWeiQuanOrderMapper; import com.yeshi.fanli.dto.HongBao; -import com.yeshi.fanli.dto.order.OrderMoneyRecievedMQMsgDTO; +import com.yeshi.fanli.dto.mq.order.OrderTopicTagEnum; +import com.yeshi.fanli.dto.mq.order.body.OrderMoneyRecievedMQMsg; import com.yeshi.fanli.entity.bus.user.HongBaoV2; import com.yeshi.fanli.entity.bus.user.UserInfo; import com.yeshi.fanli.entity.money.UserMoneyDetail; @@ -59,6 +60,7 @@ import com.yeshi.fanli.util.TimeUtil; import com.yeshi.fanli.util.cmq.HongBaoRecieveCMQManager; import com.yeshi.fanli.util.factory.UserMoneyDetailFactory; +import com.yeshi.fanli.util.rocketmq.MQMsgBodyFactory; import com.yeshi.fanli.util.rocketmq.MQTopicName; import com.yeshi.fanli.util.taobao.TaoKeOrderApiUtil; @@ -152,9 +154,9 @@ } // 閭�璇疯禋鍒拌处浜嬪姟娑堟伅 - OrderMoneyRecievedMQMsgDTO mqMsg = new OrderMoneyRecievedMQMsgDTO(OrderMoneyRecievedMQMsgDTO.TYPE_INVITE, uid, - sourceType, null, null, new Date()); - Message msg = new Message(MQTopicName.TOPIC_FANLI.name(), "actual", new Gson().toJson(mqMsg).getBytes()); + OrderMoneyRecievedMQMsg mqMsg = new OrderMoneyRecievedMQMsg(OrderMoneyRecievedMQMsg.TYPE_INVITE, uid, + sourceType, null, null, new Date(), 0); + Message msg = MQMsgBodyFactory.create(MQTopicName.TOPIC_ORDER, OrderTopicTagEnum.orderFanLiActual, mqMsg); String taskKey = getTaskKey(uid); msg.setKey(taskKey); // 娣诲姞浜嬪姟娑堟伅 @@ -215,9 +217,9 @@ } // 閭�璇疯禋鍒拌处浜嬪姟娑堟伅 - OrderMoneyRecievedMQMsgDTO mqMsg = new OrderMoneyRecievedMQMsgDTO(OrderMoneyRecievedMQMsgDTO.TYPE_INVITE, uid, - sourceType, null, null, new Date()); - Message msg = new Message(MQTopicName.TOPIC_FANLI.name(), "actual", new Gson().toJson(mqMsg).getBytes()); + OrderMoneyRecievedMQMsg mqMsg = new OrderMoneyRecievedMQMsg(OrderMoneyRecievedMQMsg.TYPE_INVITE, uid, + sourceType, null, null, new Date(), 0); + Message msg = MQMsgBodyFactory.create(MQTopicName.TOPIC_ORDER, OrderTopicTagEnum.orderFanLiActual, mqMsg); String taskKey = getTaskKey(uid); msg.setKey(taskKey); // 娣诲姞浜嬪姟娑堟伅 @@ -274,9 +276,9 @@ } // 閭�璇疯禋鍒拌处浜嬪姟娑堟伅 - OrderMoneyRecievedMQMsgDTO mqMsg = new OrderMoneyRecievedMQMsgDTO(OrderMoneyRecievedMQMsgDTO.TYPE_INVITE, uid, - sourceType, null, null, new Date()); - Message msg = new Message(MQTopicName.TOPIC_FANLI.name(), "actual", new Gson().toJson(mqMsg).getBytes()); + OrderMoneyRecievedMQMsg mqMsg = new OrderMoneyRecievedMQMsg(OrderMoneyRecievedMQMsg.TYPE_INVITE, uid, + sourceType, null, null, new Date(), 0); + Message msg = MQMsgBodyFactory.create(MQTopicName.TOPIC_ORDER, OrderTopicTagEnum.orderFanLiActual, mqMsg); String taskKey = getTaskKey(uid); msg.setKey(taskKey); // 娣诲姞浜嬪姟娑堟伅 @@ -315,9 +317,9 @@ hongBaoList.addAll(tempHongBaoList); } - OrderMoneyRecievedMQMsgDTO mqMsg = new OrderMoneyRecievedMQMsgDTO(OrderMoneyRecievedMQMsgDTO.TYPE_SHARE, uid, - sourceType, null, null, new Date()); - Message msg = new Message(MQTopicName.TOPIC_FANLI.name(), "actual", new Gson().toJson(mqMsg).getBytes()); + OrderMoneyRecievedMQMsg mqMsg = new OrderMoneyRecievedMQMsg(OrderMoneyRecievedMQMsg.TYPE_SHARE, uid, sourceType, + null, null, new Date(), 0); + Message msg = MQMsgBodyFactory.create(MQTopicName.TOPIC_ORDER, OrderTopicTagEnum.orderFanLiActual, mqMsg); String taskKey = getTaskKey(uid); msg.setKey(taskKey); // 娣诲姞浜嬪姟娑堟伅 @@ -360,9 +362,9 @@ hongBaoList.addAll(tempHongBaoList); } - OrderMoneyRecievedMQMsgDTO mqMsg = new OrderMoneyRecievedMQMsgDTO(OrderMoneyRecievedMQMsgDTO.TYPE_SHARE, uid, - sourceType, null, null, new Date()); - Message msg = new Message(MQTopicName.TOPIC_FANLI.name(), "actual", new Gson().toJson(mqMsg).getBytes()); + OrderMoneyRecievedMQMsg mqMsg = new OrderMoneyRecievedMQMsg(OrderMoneyRecievedMQMsg.TYPE_SHARE, uid, sourceType, + null, null, new Date(), 0); + Message msg = MQMsgBodyFactory.create(MQTopicName.TOPIC_ORDER, OrderTopicTagEnum.orderFanLiActual, mqMsg); String taskKey = getTaskKey(uid); msg.setKey(taskKey); // 娣诲姞浜嬪姟娑堟伅 @@ -401,9 +403,9 @@ hongBaoList.addAll(tempHongBaoList); } - OrderMoneyRecievedMQMsgDTO mqMsg = new OrderMoneyRecievedMQMsgDTO(OrderMoneyRecievedMQMsgDTO.TYPE_SHARE, uid, - sourceType, null, null, new Date()); - Message msg = new Message(MQTopicName.TOPIC_FANLI.name(), "actual", new Gson().toJson(mqMsg).getBytes()); + OrderMoneyRecievedMQMsg mqMsg = new OrderMoneyRecievedMQMsg(OrderMoneyRecievedMQMsg.TYPE_SHARE, uid, sourceType, + null, null, new Date(), 0); + Message msg = MQMsgBodyFactory.create(MQTopicName.TOPIC_ORDER, OrderTopicTagEnum.orderFanLiActual, mqMsg); String taskKey = getTaskKey(uid); msg.setKey(taskKey); // 娣诲姞浜嬪姟娑堟伅 @@ -422,7 +424,7 @@ @Transactional @Override - public void ziGouSettle(String orderId, int sourceType,String taskKey) throws OrderMoneySettleException { + public void ziGouSettle(String orderId, int sourceType, String taskKey) throws OrderMoneySettleException { // 鏌ヨ鍚屼竴璁㈠崟鍙风殑绾㈠寘 List<CommonOrder> orderList = commonOrderService.listBySourceTypeAndOrderId(sourceType, orderId); List<HongBaoV2> hongBaoList = new ArrayList<>(); @@ -466,6 +468,10 @@ } } + // if (userMoney.isEmpty()) { + // throw new OrderMoneySettleException(1, "娌℃湁闇�瑕佺粨绠楃殑璁㈠崟"); + // } + Iterator<Long> its = userMoney.keySet().iterator(); while (its.hasNext()) { @@ -486,8 +492,8 @@ } userMoneyService.addUserMoney(uid, money, userMoneyDetail); - - List<Long> hbIdList=new ArrayList<>(); + + List<Long> hbIdList = new ArrayList<>(); // 娣诲姞璧勯噾鏄庣粏涓庣孩鍖呯殑鏄犲皠鍏崇郴 for (HongBaoV2 v2 : userHongBao.get(uid)) { hbIdList.add(v2.getId()); @@ -498,7 +504,7 @@ LogHelper.errorDetailInfo(e); } } - //娣诲姞缁撶畻鏄犲皠 + // 娣诲姞缁撶畻鏄犲皠 hongBaoV2SettleTempService.addTemp(hbIdList, taskKey); // 绔欏唴淇�+鎺ㄩ�� @@ -539,10 +545,9 @@ } else throw new OrderMoneySettleException(e.getCode(), "缁存潈澶勭悊鍑洪敊:" + e.getMsg()); } - - //娣诲姞缁撶畻鏄犲皠 - - + + // 娣诲姞缁撶畻鏄犲皠 + } private HongBaoV2 filterWeiQuanINGHongBao(HongBaoV2 hongBao) { @@ -622,9 +627,9 @@ Date minDate = new Date(TimeUtil .convertToTimeTemp(ca.get(Calendar.YEAR) + "-" + (ca.get(Calendar.MONTH) + 1), "yyyy-M")); long validCount = hongBaoV2Mapper.countInviteOrderCountByUidAndSettleTime(uid, CommonOrder.STATE_JS, - minDate, maxDate); + minDate, maxDate, Constant.SOURCE_TYPE_TAOBAO); long weiQuanCount = hongBaoV2Mapper.countInviteOrderCountByUidAndSettleTime(uid, CommonOrder.STATE_WQ, - minDate, maxDate); + minDate, maxDate, Constant.SOURCE_TYPE_TAOBAO); UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createInvite(uid, Constant.SOURCE_TYPE_TAOBAO, (int) validCount, (int) weiQuanCount, invitemoney, new Date()); @@ -708,9 +713,9 @@ Date minDate = new Date(TimeUtil .convertToTimeTemp(ca.get(Calendar.YEAR) + "-" + (ca.get(Calendar.MONTH) + 1), "yyyy-M")); long validCount = hongBaoV2Mapper.countInviteOrderCountByUidAndSettleTime(uid, CommonOrder.STATE_JS, - minDate, maxDate); + minDate, maxDate, sourceType); long weiQuanCount = hongBaoV2Mapper.countInviteOrderCountByUidAndSettleTime(uid, CommonOrder.STATE_WQ, - minDate, maxDate); + minDate, maxDate, sourceType); UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createInvite(uid, sourceType, (int) validCount, (int) weiQuanCount, invitemoney, new Date()); @@ -806,9 +811,9 @@ Date minDate = new Date(TimeUtil .convertToTimeTemp(ca.get(Calendar.YEAR) + "-" + (ca.get(Calendar.MONTH) + 1), "yyyy-M")); long validCount = hongBaoV2Mapper.countShareOrderCountByUidAndSettleTime(uid, CommonOrder.STATE_JS, - minDate, maxDate); + minDate, maxDate, Constant.SOURCE_TYPE_TAOBAO); long weiQuanCount = hongBaoV2Mapper.countShareOrderCountByUidAndSettleTime(uid, CommonOrder.STATE_WQ, - minDate, maxDate); + minDate, maxDate, Constant.SOURCE_TYPE_TAOBAO); UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createShare(uid, Constant.SOURCE_TYPE_TAOBAO, (int) validCount, (int) weiQuanCount, sharemoney, new Date()); @@ -904,12 +909,12 @@ Date minDate = new Date(TimeUtil .convertToTimeTemp(ca.get(Calendar.YEAR) + "-" + (ca.get(Calendar.MONTH) + 1), "yyyy-M")); long validCount = hongBaoV2Mapper.countShareOrderCountByUidAndSettleTime(uid, CommonOrder.STATE_JS, - minDate, maxDate); + minDate, maxDate, sourceType); long weiQuanCount = hongBaoV2Mapper.countShareOrderCountByUidAndSettleTime(uid, CommonOrder.STATE_WQ, - minDate, maxDate); + minDate, maxDate, sourceType); - UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createShare(uid, Constant.SOURCE_TYPE_TAOBAO, - (int) validCount, (int) weiQuanCount, sharemoney, new Date()); + UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createShare(uid, sourceType, (int) validCount, + (int) weiQuanCount, sharemoney, new Date()); // 娣诲姞璧勯噾 userMoneyService.addUserMoney(uid, sharemoney, userMoneyDetail); @@ -961,7 +966,7 @@ for (HongBaoV2SettleTemp temp : list) { Long hongBaoId = temp.getHongBaoId(); HongBaoV2 hongBao = hongBaoV2Mapper.selectByPrimaryKey(hongBaoId); - if (sourceType != null) + if (hongBao != null) sourceType = hongBao.getOrderType(); if (hongBao.getParent() != null) hongBao = hongBao.getParent(); @@ -1018,7 +1023,9 @@ } // 娣诲姞璧勯噾 userMoneyService.addUserMoney(uid, totalMoney, userMoneyDetail); - // TODO 娣诲姞娑堟伅 + // 娣诲姞娑堟伅 + userMoneyMsgNotificationService.inviteOrderSubSidy(uid, new Date(), "绯荤粺鑷姩涓嬪彂", totalMoney, + userInfoMapper.selectAvailableByPrimaryKey(uid).getMyHongBao()); } } } -- Gitblit v1.8.0