package com.yeshi.fanli.util.account;
|
|
import java.math.BigDecimal;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
import javax.annotation.Resource;
|
|
import org.springframework.stereotype.Component;
|
|
import com.yeshi.fanli.entity.bus.user.AccountDetails;
|
import com.yeshi.fanli.entity.bus.user.MoneyRecord;
|
import com.yeshi.fanli.service.inter.user.AccountDetailsService;
|
import com.yeshi.fanli.service.inter.user.MoneyRecordService;
|
import com.yeshi.fanli.util.TimeUtil;
|
import com.yeshi.fanli.util.factory.AccountDetailsFactory;
|
|
@Component
|
public class AccountDetailUtil {
|
|
@Resource
|
private MoneyRecordService moneyRecordService;
|
|
@Resource
|
private AccountDetailsService accountDetailsService;
|
|
/**
|
* 将旧数据中的MoneyRecord 转化成 AccountDetail
|
*/
|
public void moneyRecordConvert() {
|
List<MoneyRecord> lists = moneyRecordService.findAll();
|
List<AccountDetails> ads = convert(lists);
|
ads.parallelStream().forEach(ad->{
|
accountDetailsService.save(ad);
|
});
|
}
|
|
private List<AccountDetails> convert(List<MoneyRecord> lists) {
|
List<AccountDetails> adList = new ArrayList<AccountDetails>();
|
lists.parallelStream().forEach(mr -> {
|
String title = mr.getTitle();
|
/**
|
* 排除布心街用户发的红包
|
*/
|
if("布心商品红包".equals(title) || "邀请好友红包".equals(title)){
|
return;
|
}
|
|
AccountDetails ad = new AccountDetails();
|
//id
|
ad.setId(mr.getId());
|
|
//创建时间
|
Long createtime = mr.getCreatetime();
|
ad.setCreateTime(TimeUtil.getWholeTime(createtime));
|
//提现对象
|
ad.setExtract(mr.getExtract());
|
BigDecimal money = mr.getMoney();
|
Integer type = mr.getType();
|
if (type == 1) {
|
ad.setMoney("+" + money);
|
} else {
|
ad.setMoney("-" + money);
|
}
|
|
if ("商品红包".equals(title)) {
|
title = "订单返利";
|
ad.setType(AccountDetailsFactory.FANLI);
|
}else if("新人红包".equals(title)){
|
title="新人红包";
|
ad.setType(AccountDetailsFactory.XINREN);
|
}else if("分销红包".equals(title)){
|
title="分享提成";
|
ad.setType(AccountDetailsFactory.TICHENG);
|
}else if("提现".equals(title)){
|
ad.setType(AccountDetailsFactory.TIXIAN);
|
}
|
ad.setTitle(title);
|
|
ad.setUserInfo(mr.getUserInfo());
|
|
adList.add(ad);
|
});
|
|
return adList;
|
}
|
|
}
|