yujian
2019-01-22 2366d2ada9e67f915a06b51b3c5be08a00847f0c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
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;
    }
 
}