1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.gwe.persistence.model;
18
19
20
21
22
23 public class JobInfoIdGenerator extends BaseModelInfoIdGenerator<JobInfo, String> {
24
25 public String generateId(JobInfo infoObj) {
26 return generateId(infoObj.getOrder().getId(), infoObj.getOrder().getTotalJobsCount(), infoObj.getJobNum());
27 }
28
29 public static String generateId(Integer orderId, int totalJobsCount, int jobNum) {
30 return InfoUtils.generateId(orderId, generateJobNum(totalJobsCount, jobNum));
31 }
32
33 private static String generateJobNum(int totalJobsCount, int jobNum) {
34 int totalDigits = digits(totalJobsCount);
35 int jobDigits = digits(jobNum);
36 String jobNumStr = jobNum + "";
37 for (; jobDigits < totalDigits; jobDigits++) jobNumStr = "0" + jobNumStr;
38 return jobNumStr;
39 }
40
41 private static int digits(int number) {
42 return number == 0 ? 1 : 1 + (int)Math.log10(number);
43 }
44 }