yujian
2019-02-28 70c9043f312a52a922cb15490d90a172b3515060
fanli/src/main/java/com/yeshi/fanli/service/impl/user/AccountDetailsServiceImpl.java
@@ -1,6 +1,8 @@
package com.yeshi.fanli.service.impl.user;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import javax.annotation.Resource;
@@ -10,8 +12,13 @@
import com.yeshi.fanli.dao.mybatis.AccountDetailsMapper;
import com.yeshi.fanli.dao.user.AccountDetailsDao;
import com.yeshi.fanli.entity.bus.user.AccountDetails;
import com.yeshi.fanli.entity.money.UserMoneyDetail;
import com.yeshi.fanli.exception.money.UserMoneyDetailException;
import com.yeshi.fanli.service.inter.user.AccountDetailsService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.factory.AccountDetailsFactory;
import com.yeshi.fanli.util.factory.UserMoneyDetailFactory;
@Service
public class AccountDetailsServiceImpl implements AccountDetailsService {
@@ -51,4 +58,100 @@
      return accountDetailsMapper.selectCountByUidWithState(uid);
   }
   @Override
   public UserMoneyDetail convert(AccountDetails accountDetail) {
      UserMoneyDetail userMoneyDetail = null;
      switch (accountDetail.getType()) {
      case AccountDetailsFactory.FANLI:
         try {
            userMoneyDetail = UserMoneyDetailFactory.createOldFanLi(accountDetail.getUserInfo().getId(),
                  accountDetail, new BigDecimal(accountDetail.getMoney().replace("+", "")));
         } catch (UserMoneyDetailException e) {
            e.printStackTrace();
         }
         break;
      case AccountDetailsFactory.HUIKUAN:
         try {
            userMoneyDetail = UserMoneyDetailFactory.createExtractReject(accountDetail.getExtract());
         } catch (UserMoneyDetailException e) {
            e.printStackTrace();
         }
         break;
      case AccountDetailsFactory.QITA:// 暂无数据
         break;
      case AccountDetailsFactory.SHARE_GOODS:// 暂无数据
         break;
      case AccountDetailsFactory.SHARE_GOODS_DRAWBACK:
         // 售后退款
         try {
            userMoneyDetail = UserMoneyDetailFactory.createOldWeiQuan(accountDetail);
         } catch (UserMoneyDetailException e) {
            e.printStackTrace();
         }
         break;
      case AccountDetailsFactory.TICHENG:
         try {
            userMoneyDetail = UserMoneyDetailFactory.createShareAndInvite(accountDetail);
         } catch (UserMoneyDetailException e) {
            e.printStackTrace();
         }
         break;
      case AccountDetailsFactory.TIXIAN:
         try {
            userMoneyDetail = UserMoneyDetailFactory.createExtract(accountDetail.getExtract());
         } catch (UserMoneyDetailException e) {
            e.printStackTrace();
         }
         break;
      case AccountDetailsFactory.TUIKUAN:
         if (accountDetail.getTitle().contains("账号合并")) {
            try {
               userMoneyDetail = UserMoneyDetailFactory.createOldNewerHongBaoDeduct(accountDetail);
            } catch (UserMoneyDetailException e) {
               e.printStackTrace();
            }
         } else {// 售后退款
            try {
               userMoneyDetail = UserMoneyDetailFactory.createOldWeiQuan(accountDetail);
            } catch (UserMoneyDetailException e) {
               e.printStackTrace();
            }
         }
         break;
      case AccountDetailsFactory.VALID_ALIPAY_ACCOUNT:
         try {
            userMoneyDetail = UserMoneyDetailFactory.createOldExtractAccountValid(accountDetail);
         } catch (UserMoneyDetailException e) {
            e.printStackTrace();
         }
         break;
      case AccountDetailsFactory.XINREN:
         try {
            userMoneyDetail = UserMoneyDetailFactory.createOldNewerHongBao(accountDetail);
         } catch (UserMoneyDetailException e) {
            e.printStackTrace();
         }
         break;
      }
      if (userMoneyDetail != null) {
         userMoneyDetail.setCreateTime(
               new Date(TimeUtil.convertToTimeTemp(accountDetail.getCreateTime(), "yyyy-MM-dd HH:mm:ss")));
         userMoneyDetail.setUpdateTime(userMoneyDetail.getCreateTime());
         userMoneyDetail.setId(accountDetail.getId());
      }
      return userMoneyDetail;
   }
}