xuhy
2025-01-09 b9009a5abd3f4129784a8d5e5316622e95669b68
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
package com.stylefeng.guns.modular.system.util.task.jobs;
 
import com.stylefeng.guns.core.util.SinataUtil;
import com.stylefeng.guns.modular.system.util.ConstellationUtil;
import com.stylefeng.guns.modular.system.util.task.base.AbstractJob;
import org.apache.commons.lang.time.DateUtils;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.quartz.JobDataMap;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
 
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.*;
 
/**
 * 定时1秒后导出用户详情记录
 */
public class AddMachine extends AbstractJob {
 
    public static final String name = "addMachineJob";
 
    @Override
    public void execute(JobExecutionContext context) throws JobExecutionException {
        JobDataMap maps = context.getMergedJobDataMap();
        Workbook book = (Workbook) maps.get("book");
 
        try {
            System.out.println("----定时2秒后导入机器人-----");
            Sheet sh = book.getSheetAt(0);   //获取到第一个表
            for (int i = 1; i <= sh.getLastRowNum(); i++) {
                Row row = sh.getRow(i);
 
                Cell cell0 = row.getCell(0);  //用户昵称
                String nickname = null;
                if (SinataUtil.isNotEmpty(cell0)){
                    nickname = String.valueOf(cell0.getStringCellValue()).trim();
                }
 
                Cell cell1 = row.getCell(1); //性别
                String sex = null;
                if (SinataUtil.isNotEmpty(cell1)){
                    sex = String.valueOf(cell1.getStringCellValue()).trim();
                }
 
                Cell cell2 = row.getCell(2);  //认证
                String authType = null;
                if (SinataUtil.isNotEmpty(cell2)){
                    authType = String.valueOf(cell2.getStringCellValue()).trim();
                }
 
                Cell cell3 = row.getCell(3);  //女神认证
                String isGoddess = null;
                if (SinataUtil.isNotEmpty(cell3)){
                    isGoddess = String.valueOf(cell3.getStringCellValue()).trim();
                }
 
                Cell cell4 = row.getCell(4);  //会员
                String isVip = null;
                if (SinataUtil.isNotEmpty(cell4)){
                    isVip = String.valueOf(cell4.getStringCellValue()).trim();
                }
 
                Cell cell5 = row.getCell(5);  //生日
                String birthday = null;
                if (SinataUtil.isNotEmpty(cell5)){
                    birthday = String.valueOf(cell5.getStringCellValue()).trim();
                }
 
                Cell cell6 = row.getCell(6);  //爱好
                String hobbyStr = null;
                if (SinataUtil.isNotEmpty(cell6)){
                    hobbyStr = String.valueOf(cell6.getStringCellValue()).trim();
                }
 
                Cell cell7 = row.getCell(7);  //交友原则
                String principleStr = null;
                if (SinataUtil.isNotEmpty(cell7)){
                    principleStr = String.valueOf(cell7.getStringCellValue()).trim();
                }
 
                Cell cell8 = row.getCell(8);  //身高cm
                String height = null;
                if (SinataUtil.isNotEmpty(cell8)){
                    height = String.valueOf(cell8.getStringCellValue()).trim();
                }
 
                Cell cell9 = row.getCell(9);  //体重kg
                String weight = null;
                if (SinataUtil.isNotEmpty(cell9)){
                    weight = String.valueOf(cell9.getStringCellValue()).trim();
                }
 
                Cell cell10 = row.getCell(10);  //个人简介
                String introduction = null;
                if (SinataUtil.isNotEmpty(cell10)){
                    introduction = String.valueOf(cell10.getStringCellValue()).trim();
                }
 
                if (SinataUtil.isEmpty(nickname) || SinataUtil.isEmpty(sex) || SinataUtil.isEmpty(authType)
                        || SinataUtil.isEmpty(isGoddess) || SinataUtil.isEmpty(isVip) || SinataUtil.isEmpty(birthday)
                        || SinataUtil.isEmpty(hobbyStr) || SinataUtil.isEmpty(principleStr)){
                    continue;
                }else{
                    if (SinataUtil.isNotEmpty(height)){
                        if (!isDouble(height)){
                            continue;
                        }
                    }
                    if (SinataUtil.isNotEmpty(weight)){
                        if (!isDouble(weight)){
                            continue;
                        }
                    }
                    String constellation = null;
                    try {
                        String time = importByExcelForDate(birthday);
                        constellation = ConstellationUtil.getConstellation(time);
                    }catch (Exception e){
                        continue;
                    }
                    /*AppUserInfo user = new AppUserInfo();
                    user.setAddTime(new Date());
                    user.setConstellation(constellation);
                    user.setNickname(nickname);
                    user.setSex(Integer.valueOf(sex));
                    user.setIsGoddess(Integer.valueOf(isGoddess));
                    user.setAuthType(Integer.valueOf(authType));
                    user.setIsVip(Integer.valueOf(isVip));
                    user.setState(1);
                    user.setBirthday(birthday);
                    user.setHobbyStr(hobbyStr);
                    user.setPrincipleStr(principleStr);
                    if (SinataUtil.isNotEmpty(height))
                        user.setHeight(Double.valueOf(height));
                    if (SinataUtil.isNotEmpty(weight))
                        user.setWeight(Double.valueOf(weight));
                    if (SinataUtil.isNotEmpty(introduction))
                        user.setIntroduction(introduction);
                    user.setIsComplete(1);
                    user.setIsMachine(2);
                    appUserInfoService.insert(user);*/
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
 
    /**
     * 转换日期
     * @return
     */
    public static String importByExcelForDate(String value) {//value就是它的天数
        String currentCellValue = "";
        if(value != null && !value.equals("")){
            Calendar calendar = new GregorianCalendar(1900,0,-1);
            Date d = calendar.getTime();
            Date dd = DateUtils.addDays(d,Integer.valueOf(value));
            DateFormat formater = new SimpleDateFormat("yyyy-MM-dd");
            currentCellValue = formater.format(dd);
        }
        return currentCellValue;
    }
 
    /**
     * 验证是否可以字符转为金额值
     * @param str
     * @return
     */
    public static boolean isDouble(String str)
    {
        try{
            Double.parseDouble(str);
            return true;
        }catch(NumberFormatException e)
        {
            System.out.println("异常:\"" + str + "\"不是数字/整数/小数...");
            return false;
        }
    }
}