admin
2020-05-06 24a8d17e007545f7426c48352109aa1a9c6587ee
fanli/src/main/java/com/yeshi/fanli/service/impl/money/msg/MsgMoneyDetailServiceImpl.java
@@ -8,12 +8,15 @@
import org.springframework.stereotype.Service;
import com.yeshi.fanli.dao.mybatis.msg.MsgMoneyDetailMapper;
import com.yeshi.fanli.entity.bus.msg.MsgExtra;
import com.yeshi.fanli.entity.bus.msg.MsgMoneyDetail;
import com.yeshi.fanli.entity.bus.msg.MsgMoneyDetail.MsgTypeMoneyTypeEnum;
import com.yeshi.fanli.exception.msg.MsgMoneyDetailException;
import com.yeshi.fanli.service.inter.money.msg.MsgMoneyDetailService;
import com.yeshi.fanli.service.inter.msg.MsgExtraService;
import com.yeshi.fanli.service.inter.msg.UserMsgReadStateService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
@Service
public class MsgMoneyDetailServiceImpl implements MsgMoneyDetailService {
@@ -23,13 +26,16 @@
   @Resource
   private UserMsgReadStateService userMsgReadStateService;
   @Resource
   private MsgExtraService msgExtraService;
   @Override
   public void addMsgMoneyDetail(MsgMoneyDetail detail) throws MsgMoneyDetailException {
      if (detail == null)
         throw new MsgMoneyDetailException(1, "消息为空");
      if (detail == null || detail.getUser() == null || StringUtil.isNullOrEmpty(detail.getExtraInfo()))
         throw new MsgMoneyDetailException(1, "消息信息不全");
      if (detail.getMsgType() == MsgTypeMoneyTypeEnum.extract) {
         if (detail.getExtract() == null || detail.getUser() == null)
         if (detail.getExtract() == null)
            throw new MsgMoneyDetailException(2, "消息信息不全");
         MsgMoneyDetail msg = msgMoneyDetailMapper.selectBySourceIdAndMsgType(detail.getExtract().getId(),
               MsgTypeMoneyTypeEnum.extract);
@@ -38,6 +44,7 @@
            detail.setUpdateTime(new Date());
            detail.setRead(false);
            msgMoneyDetailMapper.insertSelective(detail);
            msgExtraService.addMsgExtra(detail.getId(), detail.getExtraInfo(), MsgExtra.MSG_TYPE_MONEY);
         } else {
            MsgMoneyDetail update = new MsgMoneyDetail();
            update.setId(msg.getId());
@@ -45,10 +52,10 @@
            update.setRead(false);
            update.setStateDesc(detail.getStateDesc());
            msgMoneyDetailMapper.updateByPrimaryKeySelective(update);
            msgExtraService.addMsgExtra(update.getId(), detail.getExtraInfo(), MsgExtra.MSG_TYPE_MONEY);
         }
      } else if (detail.getMsgType() == MsgTypeMoneyTypeEnum.extractValid) {
         if (detail.getAlipayAccountValid() == null || detail.getUser() == null)
         if (detail.getAlipayAccountValid() == null)
            throw new MsgMoneyDetailException(2, "消息信息不全");
         MsgMoneyDetail msg = msgMoneyDetailMapper.selectBySourceIdAndMsgType(detail.getAlipayAccountValid().getId(),
               MsgTypeMoneyTypeEnum.extractValid);
@@ -57,6 +64,7 @@
            detail.setUpdateTime(new Date());
            detail.setRead(false);
            msgMoneyDetailMapper.insertSelective(detail);
            msgExtraService.addMsgExtra(detail.getId(), detail.getExtraInfo(), MsgExtra.MSG_TYPE_MONEY);
         } else {
            MsgMoneyDetail update = new MsgMoneyDetail();
            update.setId(msg.getId());
@@ -64,58 +72,15 @@
            update.setRead(false);
            update.setStateDesc(detail.getStateDesc());
            msgMoneyDetailMapper.updateByPrimaryKeySelective(update);
            msgExtraService.addMsgExtra(update.getId(), detail.getExtraInfo(), MsgExtra.MSG_TYPE_MONEY);
         }
      } else if (detail.getMsgType() == MsgTypeMoneyTypeEnum.fanli) {
         if (detail.getMoney() == null || detail.getGoodsCount() == null || detail.getOrderId() == null
               || detail.getBalance() == null)
            throw new MsgMoneyDetailException(2, "消息信息不全");
      }  else {
         detail.setCreateTime(new Date());
         detail.setUpdateTime(new Date());
         detail.setRead(false);
         msgMoneyDetailMapper.insertSelective(detail);
      } else if (detail.getMsgType() == MsgTypeMoneyTypeEnum.invite
            || detail.getMsgType() == MsgTypeMoneyTypeEnum.share) {
         if (detail.getMoney() == null || detail.getGoodsCount() == null || detail.getOrderCount() == null
               || detail.getBalance() == null)
            throw new MsgMoneyDetailException(2, "消息信息不全");
         detail.setCreateTime(new Date());
         detail.setUpdateTime(new Date());
         detail.setRead(false);
         msgMoneyDetailMapper.insertSelective(detail);
      } else if (detail.getMsgType() == MsgTypeMoneyTypeEnum.fanliWeiQuan
            || detail.getMsgType() == MsgTypeMoneyTypeEnum.inviteWeiQuan
            || detail.getMsgType() == MsgTypeMoneyTypeEnum.shareWeiQuan) {
         if (detail.getMoney() == null || detail.getOrderId() == null || detail.getBalance() == null)
            throw new MsgMoneyDetailException(2, "消息信息不全");
         detail.setCreateTime(new Date());
         detail.setUpdateTime(new Date());
         detail.setRead(false);
         msgMoneyDetailMapper.insertSelective(detail);
      } else if (detail.getMsgType() == MsgTypeMoneyTypeEnum.orderReward) {
         if (detail.getMoney() == null || detail.getOrderId() == null || detail.getBalance() == null)
            throw new MsgMoneyDetailException(2, "消息信息不全");
         detail.setCreateTime(new Date());
         detail.setUpdateTime(new Date());
         detail.setRead(false);
         msgMoneyDetailMapper.insertSelective(detail);
      } else if (detail.getMsgType() == MsgTypeMoneyTypeEnum.systemEqualize) {
         if (detail.getMoney() == null || detail.getOrderId() == null || detail.getBalance() == null)
            throw new MsgMoneyDetailException(2, "消息信息不全");
         detail.setCreateTime(new Date());
         detail.setUpdateTime(new Date());
         detail.setRead(false);
         msgMoneyDetailMapper.insertSelective(detail);
      } else if (detail.getMsgType() == MsgTypeMoneyTypeEnum.extractAutoWX) {
         if (detail.getMoney() == null || detail.getUser() == null)
            throw new MsgMoneyDetailException(2, "消息信息不全");
         detail.setCreateTime(new Date());
         detail.setUpdateTime(new Date());
         detail.setRead(false);
         msgMoneyDetailMapper.insertSelective(detail);
         msgExtraService.addMsgExtra(detail.getId(), detail.getExtraInfo(), MsgExtra.MSG_TYPE_MONEY);
      }
      userMsgReadStateService.addMoneyMsgUnReadCount(detail.getUser().getId(), 1);
   }