admin
2020-04-15 ee5c8055b1c0dd7c67a9025a76b10bd287c93d9a
fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/order/OrderDividentsMessageListener.java
@@ -1,8 +1,6 @@
package com.yeshi.fanli.util.rocketmq.consumer.order;
import java.math.BigDecimal;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import javax.annotation.Resource;
@@ -16,12 +14,11 @@
import com.google.gson.Gson;
import com.yeshi.fanli.dto.mq.order.OrderTopicTagEnum;
import com.yeshi.fanli.dto.mq.order.body.OrderConfirmMQMsg;
import com.yeshi.fanli.dto.mq.order.body.OrderWeiQuanMQMsg;
import com.yeshi.fanli.dto.mq.user.UserTopicTagEnum;
import com.yeshi.fanli.dto.mq.user.body.UserForbiddenMQMsg;
import com.yeshi.fanli.entity.order.CommonOrder;
import com.yeshi.fanli.entity.order.dividents.TeamDividentsSourceOrder;
import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanOrder;
import com.yeshi.fanli.exception.ParamsException;
import com.yeshi.fanli.exception.money.TeamDividentsDebtException;
import com.yeshi.fanli.exception.order.dividents.TeamDividentsSourceOrderException;
import com.yeshi.fanli.log.LogHelper;
@@ -29,7 +26,6 @@
import com.yeshi.fanli.service.inter.order.dividents.TeamDividentsSourceOrderService;
import com.yeshi.fanli.service.manger.order.TeamDividentsManager;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.rocketmq.MQTopicName;
/**
@@ -76,40 +72,28 @@
            List<CommonOrder> commonOrderList = commonOrderService.listBySourceTypeAndOrderId(dto.getSourceType(),
                  dto.getOrderNo());
            BigDecimal eincome = new BigDecimal(0);
            Date settleTime = null;
            for (CommonOrder order : commonOrderList) {
               if (order.getState() == CommonOrder.STATE_JS)
                  eincome = eincome.add(order.geteIncome());
               if (settleTime == null)
                  settleTime = order.getSettleTime();
            }
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(settleTime);
            calendar.add(Calendar.MONTH, 1);
            Date preSendTime = new Date(TimeUtil.convertToTimeTemp(
                  calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1) + "-25", "yyyy-M-dd"));
            TeamDividentsSourceOrder sourceOrder = new TeamDividentsSourceOrder();
            sourceOrder.setMoney(eincome);
            sourceOrder.setOrderNo(dto.getOrderNo());
            sourceOrder.setPreSendTime(preSendTime);
            sourceOrder.setSourceType(dto.getSourceType());
            sourceOrder.setState(TeamDividentsSourceOrder.STATE_CAN_SEND);
            sourceOrder.setUid(dto.getSourceUid());
            try {
               teamDividentsSourceOrderService.addTeamDividentsSourceOrder(sourceOrder);
               return Action.CommitMessage;
            } catch (ParamsException e) {
               e.printStackTrace();
            } catch (TeamDividentsSourceOrderException e) {
               e.printStackTrace();
               teamDividentsManager.addDividentsSourceOrder(commonOrderList);
            }
            catch (TeamDividentsSourceOrderException e) {
               if (e.getCode() == TeamDividentsSourceOrderException.CODE_EXIST)
                  return Action.CommitMessage;
               else {
                  e.printStackTrace();
                  return Action.ReconsumeLater;
               }
            }
         } else if (tag.equalsIgnoreCase(OrderTopicTagEnum.taoBaoOrderWeiQuan.name())) {
            TaoBaoWeiQuanOrder dto = new Gson().fromJson(new String(message.getBody()), TaoBaoWeiQuanOrder.class);
            OrderWeiQuanMQMsg dto = new Gson().fromJson(new String(message.getBody()), OrderWeiQuanMQMsg.class);
            try {
               teamDividentsManager.weiQuan(dto.getOrderId(), Constant.SOURCE_TYPE_TAOBAO);
               teamDividentsManager.weiQuan(dto.getOrderNo(), dto.getSourceType());
               return Action.CommitMessage;
            } catch (TeamDividentsDebtException e) {
               e.printStackTrace();