// Path: src/main/java/com/ccnode/codegenerator/common/VersionManager.java
// public class VersionManager {
// 
//     public static String CURRENT_VERSION = "2018-06-24";
// 
//     public static String getCurrentVersion() {
//         return CURRENT_VERSION;
//     }
// }
// 
// Path: src/main/java/com/ccnode/codegenerator/storage/SettingService.java
// @State(name="SettingService", storages={@Storage(id="other", file="$APP_CONFIG$/codeHelper.xml")})
// public class SettingService implements PersistentStateComponent<SettingDto> {
// 
//      SettingDto settingDto;
// 
//     public static SettingService getInstance(){
//        return ServiceManager.getService(SettingService.class);
//     }
// 
//     public static String getUUID(){
//         return getInstance().getState().getUuid();
//     }
// 
//     public static SettingDto getSetting(){
//         return getInstance().getState();
//     }
// 
// 
//     @NotNull
//     @Override
//     public SettingDto getState() {
//         if(settingDto == null){
//             settingDto = new SettingDto();
//             settingDto.setUuid(UUID.randomUUID().toString());
//             settingDto.setVersion(VersionManager.getCurrentVersion());
//             if(settingDto.getInstalledDate() == null){
//                 settingDto.setInstalledDate(new Date());
//             }
//         }else{
//             if(settingDto.getUpdateDate() == null && !VersionManager.CURRENT_VERSION.equalsIgnoreCase(settingDto.getVersion())){
//                 settingDto.setOldVersion(settingDto.getVersion());
//                 settingDto.setVersion(VersionManager.CURRENT_VERSION);
//                 settingDto.setUpdateDate(new Date());
//             }
//         }
//         if(StringUtils.isBlank(settingDto.getUuid())){
//             settingDto.setUuid(UUID.randomUUID().toString());
//         }
//         return settingDto;
//     }
// 
// 
//     @Override
//     public void loadState(SettingDto o) {
//         XmlSerializerUtil.copyBean(o, getState());
//     }
// 
//     public static void setDonated(){
//         getInstance().getState().setDonatedDate(new Date());
//     }
// 
//     public void setSettingDto(SettingDto settingDto) {
//         this.settingDto = settingDto;
//     }
// 
//     public static Boolean notExpired(String eKey) {
//         Date date = SecurityHelper.decryptToDate(eKey);
//         if (date == null || new Date().compareTo(date) > 0) {
//             return false;
//         } else {
//             return true;
//         }
//     }
// 
//     public static boolean showDonateBtn(){
// //        Integer count = getSetting().getCount();
// //        if(isDonated()){
// //            return false;
// //        }
// //        if(count == null count > 5 && count % 7 == 0){
// //            return true;
// //        }
//         return false;
//     }
// 
//     public static boolean isDonated() {
//         return getInstance().getState().getDonatedDate() != null && DateUtil
//                 .getDayBetween(getInstance().getState().getDonatedDate(), new Date()) < 365;
//     }
// 
//     public static String getOldVersion(){
//         String oldVersion = getInstance().getState().getVersion();
//         if(StringUtils.isBlank(oldVersion)){
//             return "no_version";
//         }
//         return oldVersion;
//     }
// 
//     public static void updateLastRunTime(){
//         getSetting().setLastRunTime(new Date());
//     }
// 
//     public static int getSecondAfterLastRun(){
//         long l = new Date().getTime() - getSetting().getLastRunTime().getTime() /1000L;
//         return (int) l;
//     }
// 
// }


import com.ccnode.codegenerator.common.VersionManager;
import com.ccnode.codegenerator.storage.SettingService;
package com.ccnode.codegenerator.enums;


/**
 * What always stop you is what you always believe.
 * <p>
 * Created by zhengjun.du on 2016/08/31 16:39
 */
public class UrlManager {

    private static String GENERATOR_URL = "http://www.codehelper.me/generator/";
    private static String MAIN_PAGE = "https://github.com/zhengjunbase/codehelper.generator";
    private static String POST_URL = "http://www.codehelper.me/generator/post";
    private static String DONATE_CLICK_URL = "http://www.codehelper.me/generator" ;

    public static String getUrlSuffix (){
// Path: src/main/java/com/ccnode/codegenerator/common/VersionManager.java
// public class VersionManager {
// 
//     public static String CURRENT_VERSION = "2018-06-24";
// 
//     public static String getCurrentVersion() {
//         return CURRENT_VERSION;
//     }
// }
// 
// Path: src/main/java/com/ccnode/codegenerator/storage/SettingService.java
// @State(name="SettingService", storages={@Storage(id="other", file="$APP_CONFIG$/codeHelper.xml")})
// public class SettingService implements PersistentStateComponent<SettingDto> {
// 
//      SettingDto settingDto;
// 
//     public static SettingService getInstance(){
//        return ServiceManager.getService(SettingService.class);
//     }
// 
//     public static String getUUID(){
//         return getInstance().getState().getUuid();
//     }
// 
//     public static SettingDto getSetting(){
//         return getInstance().getState();
//     }
// 
// 
//     @NotNull
//     @Override
//     public SettingDto getState() {
//         if(settingDto == null){
//             settingDto = new SettingDto();
//             settingDto.setUuid(UUID.randomUUID().toString());
//             settingDto.setVersion(VersionManager.getCurrentVersion());
//             if(settingDto.getInstalledDate() == null){
//                 settingDto.setInstalledDate(new Date());
//             }
//         }else{
//             if(settingDto.getUpdateDate() == null && !VersionManager.CURRENT_VERSION.equalsIgnoreCase(settingDto.getVersion())){
//                 settingDto.setOldVersion(settingDto.getVersion());
//                 settingDto.setVersion(VersionManager.CURRENT_VERSION);
//                 settingDto.setUpdateDate(new Date());
//             }
//         }
//         if(StringUtils.isBlank(settingDto.getUuid())){
//             settingDto.setUuid(UUID.randomUUID().toString());
//         }
//         return settingDto;
//     }
// 
// 
//     @Override
//     public void loadState(SettingDto o) {
//         XmlSerializerUtil.copyBean(o, getState());
//     }
// 
//     public static void setDonated(){
//         getInstance().getState().setDonatedDate(new Date());
//     }
// 
//     public void setSettingDto(SettingDto settingDto) {
//         this.settingDto = settingDto;
//     }
// 
//     public static Boolean notExpired(String eKey) {
//         Date date = SecurityHelper.decryptToDate(eKey);
//         if (date == null || new Date().compareTo(date) > 0) {
//             return false;
//         } else {
//             return true;
//         }
//     }
// 
//     public static boolean showDonateBtn(){
// //        Integer count = getSetting().getCount();
// //        if(isDonated()){
// //            return false;
// //        }
// //        if(count == null count > 5 && count % 7 == 0){
// //            return true;
// //        }
//         return false;
//     }
// 
//     public static boolean isDonated() {
//         return getInstance().getState().getDonatedDate() != null && DateUtil
//                 .getDayBetween(getInstance().getState().getDonatedDate(), new Date()) < 365;
//     }
// 
//     public static String getOldVersion(){
//         String oldVersion = getInstance().getState().getVersion();
//         if(StringUtils.isBlank(oldVersion)){
//             return "no_version";
//         }
//         return oldVersion;
//     }
// 
//     public static void updateLastRunTime(){
//         getSetting().setLastRunTime(new Date());
//     }
// 
//     public static int getSecondAfterLastRun(){
//         long l = new Date().getTime() - getSetting().getLastRunTime().getTime() /1000L;
//         return (int) l;
//     }
// 
// }


// Path: src/main/java/com/ccnode/codegenerator/enums/UrlManager.java
import com.ccnode.codegenerator.common.VersionManager;
import com.ccnode.codegenerator.storage.SettingService;

package com.ccnode.codegenerator.enums;


/**
 * What always stop you is what you always believe.
 * <p>
 * Created by zhengjun.du on 2016/08/31 16:39
 */
public class UrlManager {

    private static String GENERATOR_URL = "http://www.codehelper.me/generator/";
    private static String MAIN_PAGE = "https://github.com/zhengjunbase/codehelper.generator";
    private static String POST_URL = "http://www.codehelper.me/generator/post";
    private static String DONATE_CLICK_URL = "http://www.codehelper.me/generator" ;

    public static String getUrlSuffix (){
        return "?id=" + SettingService.getUUID() + "&version=" + VersionManager.getCurrentVersion();