admin
2019-08-26 d28bed1a1275131a5ca37f7da37961e2b518ac07
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserMoneyDetailServiceImpl.java
@@ -18,7 +18,9 @@
import com.yeshi.fanli.dao.mybatis.money.UserMoneyDetailMapper;
import com.yeshi.fanli.entity.money.UserMoneyDetail;
import com.yeshi.fanli.entity.money.UserMoneyDetail.UserMoneyDetailTypeEnum;
import com.yeshi.fanli.exception.money.UserMoneyDetailException;
import com.yeshi.fanli.service.inter.user.UserMoneyDetailService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.vo.money.UserMoneyDetailHistoryVO;
import com.yeshi.fanli.vo.money.UserMonthMoneyVO;
@@ -28,6 +30,13 @@
   @Resource
   private UserMoneyDetailMapper userMoneyDetailMapper;
   @Override
   public void addUserMoneyDetail(UserMoneyDetail detail) throws UserMoneyDetailException {
      if (detail == null || detail.getMoney() == null || detail.getType() == null || detail.getUserInfo() == null)
         throw new UserMoneyDetailException(1, "信息不完整");
      userMoneyDetailMapper.insertSelective(detail);
   }
   @Override
   public List<UserMoneyDetailHistoryVO> listUserMoneyDetailForClient(Long uid, Long userMoneyDetailId, Date maxTime) {
@@ -41,6 +50,7 @@
         } else {// 筛选了时间
            list = userMoneyDetailMapper.selectByMaxCreateTime(uid, maxTime, 20);
         }
         if (list != null && list.size() > 0) {
            Calendar calendar = Calendar.getInstance();
            calendar.setTimeInMillis(list.get(0).getCreateTime().getTime());
@@ -96,7 +106,11 @@
      }
      if (list != null) {
         if (userMoneyDetailId != null&&list.size()>0) {
         // 重新设置标题
         for (UserMoneyDetail md : list)
            resetTitle(md);
         if (userMoneyDetailId != null && list.size() > 0) {
            UserMoneyDetail umd = userMoneyDetailMapper.selectByPrimaryKey(userMoneyDetailId);
            if (!TimeUtil.getGernalTime(umd.getCreateTime().getTime(), "yyyy-MM")
                  .equalsIgnoreCase(TimeUtil.getGernalTime(list.get(0).getCreateTime().getTime(), "yyyy-MM"))) {
@@ -159,6 +173,23 @@
      return finalList;
   }
   private UserMoneyDetail resetTitle(UserMoneyDetail detail) {
      UserMoneyDetailTypeEnum[] enums = new UserMoneyDetailTypeEnum[] { UserMoneyDetailTypeEnum.fanli,
            UserMoneyDetailTypeEnum.fanliWeiQuan, UserMoneyDetailTypeEnum.invite,
            UserMoneyDetailTypeEnum.inviteAndShare, UserMoneyDetailTypeEnum.inviteWeiQuan,
            UserMoneyDetailTypeEnum.orderReward, UserMoneyDetailTypeEnum.repeatStatistic,
            UserMoneyDetailTypeEnum.share, UserMoneyDetailTypeEnum.shareWeiQuan, UserMoneyDetailTypeEnum.weiQuan };
      boolean inType = false;
      for (UserMoneyDetailTypeEnum e : enums)
         if (detail.getType() == e) {
            inType = true;
            break;
         }
      if (inType)
         detail.setTitle(detail.getTitle() + "【" + Constant.getSourceName(detail.getOrderType()) + "】");
      return detail;
   }
   @Override
   public long countUserMoneyDetailForClient(Long uid, Long userMoneyDetailId, Date maxTime) {
      long monthCount = 0L;
@@ -199,4 +230,10 @@
      return money == null ? new BigDecimal(0) : money;
   }
   @Override
   public UserMoneyDetail selectByTypeAndUidAndIdentifyCode(UserMoneyDetailTypeEnum type, Long uid,
         Long sourceIdentifyId) {
      return userMoneyDetailMapper.selectByTypeAndUidAndIdentifyCode(type, uid, sourceIdentifyId);
   }
}