| | |
| | | //此ID生成器在各个子系统中难免为同一类数据生成相同的ID,造成数据库插入因主键相同而报错, |
| | | //所以设计此后缀,每个子系统后缀不同 |
| | | private static int suffix = 0 ; |
| | | private static final int noSuffix = 0 ; |
| | | |
| | | static { |
| | | last = current() ; |
| | |
| | | * @return ID |
| | | */ |
| | | public static Long generateTodayStartId(){ |
| | | return (currentTodayStart() * chengShu) * 100 + suffix; |
| | | return (currentTodayStart() * chengShu) * 100 + noSuffix; |
| | | } |
| | | |
| | | /** |
| | |
| | | * @return ID |
| | | */ |
| | | public static Long generateTodayEndId(){ |
| | | return (currentTodayEnd() * chengShu) * 100 + suffix; |
| | | return (currentTodayEnd() * chengShu) * 100 + noSuffix; |
| | | } |
| | | |
| | | |
| | |
| | | * @return ID |
| | | */ |
| | | public static Long generateBeforeXDayStartId(int xday){ |
| | | return (beforeXDayStart(xday) * chengShu) * 100 + suffix; |
| | | return (beforeXDayStart(xday) * chengShu) * 100 + noSuffix; |
| | | } |
| | | |
| | | /** |
| | |
| | | * @return ID |
| | | */ |
| | | public static Long generateBeforeXDayEndId(int xday){ |
| | | return (beforeXDayEnd(xday) * chengShu) * 100 + suffix; |
| | | return (beforeXDayEnd(xday) * chengShu) * 100 + noSuffix; |
| | | } |
| | | |
| | | |