| package com.doumee.core.utils; | 
|   | 
| import org.apache.commons.collections4.CollectionUtils; | 
| import org.apache.commons.lang3.StringUtils; | 
|   | 
| import java.io.File; | 
| import java.math.BigDecimal; | 
| import java.net.URLDecoder; | 
| import java.util.*; | 
| import java.util.regex.Matcher; | 
| import java.util.regex.Pattern; | 
|   | 
| public class Constants { | 
|   | 
|     public static final int ZERO = 0 ; | 
|     public static final int ONE = 1 ; | 
|     public static final int TWO = 2 ; | 
|     public static final int THREE = 3 ; | 
|     public static final int SEVEN = 7 ; | 
|     public static final String ACCESS_ID="ACCESS_ID"; | 
|     public static final String BUCKETNAME = "BUCKETNAME"; | 
|     public static final String OSS = "OSS"; | 
|     public static final String ACCESS_KEY = "ACCESS_KEY"; | 
|     public static final String ENDPOINT = "ENDPOINT"; | 
|     public static final String RESOURCE_PATH = "RESOURCE_PATH"; | 
|     public static final String WEB_PARAM = "WEB_PARAM"; | 
|     public static final String MAIN_COLOR = "MAIN_COLOR"; | 
|     public static final String BG_IMG = "BG_IMG"; | 
|     public static final String TOP_IMG = "TOP_IMG"; | 
|     public static final String PK_IMG = "PK_IMG"; | 
|     public static final String RANGE_SIZE = "RANGE_SIZE"; | 
|     public static final String CATE_PARAM_OPEN = "_CATE_PARAM_OPEN"; | 
|     public static final String OPEN_SYNC_SWITCH = "OPEN_SYNC_SWITCH"; | 
|   | 
|   | 
|     public static final String SYSTEM ="SYSTEM"; | 
|     public static final String GOODS_IMG_DIR ="GOODS_IMG_DIR"; | 
|     public static final String CREDIT_CODE_REGEX = "[0-9A-HJ-NPQRTUWXY]{2}\\d{6}[0-9A-HJ-NPQRTUWXY]{10}"; | 
|   | 
|   | 
|     public static final String  ROOT_PATH="ROOT_PATH";//本地文件上传地址配置 | 
|     public static final String  FILE_DIR="FILE_DIR";//本地文件访问地址配置 | 
|     public static final String  HOME_IMAGE="HOME_IMAGE";//H5 首页图 | 
|   | 
|     public static final String PROJECTS = "PROJECTS"; | 
|     public static final String CATEGORY_IMG = "CATEGORY_IMG"; | 
|     public static final String GOODS_IMG ="GOODS_IMG" ; | 
|     public static final String GOODS_PRICE_RATE = "GOODS_PRICE_RATE"; | 
|     public static final String COMPANY_MANAGE_ROLE = "COMPANY_MANAGE_ROLE"; | 
|   | 
|   | 
|     public static final String DEFAULT_MANAGE_ROLE = "DEFAULT_MANAGE_ROLE"; | 
|     public static final String DEFAULT_PASSWORD = "DEFAULT_PASSWORD"; | 
|     public static final String BRAND_IMG = "BRAND_IMG"; | 
|     public static final String PLATFORM = "PLATFORM"; | 
|     public static final String ZHUBO_ROOM_URL = "ZHUBO_ROOM_URL"; | 
|   | 
|     /** | 
|      * 企业数据来源 0平台注册 1后台导入 | 
|      */ | 
|     public interface ORIGIN{ | 
|         public static final  int platformRegister  = 0; | 
|         public static final  int backstageImport  = 1; | 
|     } | 
|   | 
|     public static BigDecimal formatBigdecimal(BigDecimal d) { | 
|         if (d == null) { | 
|             d = new BigDecimal(0.0); | 
|         } | 
|         //保留两位小数且四舍五入 | 
| //        d = d.setScale(2, BigDecimal.ROUND_HALF_UP); | 
|         return  d; | 
|     } | 
|     public static BigDecimal formatBigdecimal4Float(BigDecimal d) { | 
|         if (d == null) { | 
|             d = new BigDecimal(0.0); | 
|         } | 
|         //保留两位小数且四舍五入 | 
|         d = d.setScale(4, BigDecimal.ROUND_HALF_UP); | 
|         return  d; | 
|     } | 
|   | 
|     public static boolean equalsObject(Object a, Object b) { | 
|         if (a == null && b == null) { | 
|             return true; | 
|         } | 
|         if (a != null){ | 
|             return a.equals(b); | 
|         } | 
|         return false; | 
|     } | 
|   | 
|     public static boolean equalsInteger(Integer a, Integer b) { | 
|         if (formatIntegerNum(a) == formatIntegerNum(b)) { | 
|             return true; | 
|         } | 
|         return false; | 
|     } | 
|   | 
|     public static int formatIntegerNum(Integer d) { | 
|         if (d == null) { | 
|             d = 0; | 
|         } | 
|         return d.intValue(); | 
|     } | 
|     /** | 
|      * 状态 0已保存、1待审核、2审核通过、3退回修改、4审核驳回、5待服务机构确认、6服务机构拒绝、7已分配服务机构、8诊断中 | 
|      * (成功上传第一份服务资料)、9服务完成、10已分配评分专家、11已完成(专家上传评分) 12退回修改中 13 已完成退回修改 | 
|      */ | 
|     public  enum DeclareStatus { | 
|   | 
|         EDITING(0, "已保存", "已保存"), | 
|         CHECK_WAIT(1, "待审核", "待审核"), | 
|         CHECK_PASS(2, "审核通过", "审核通过"), | 
|         CHECK_EDIT(3, "退回修改", "退回修改"), | 
|         CHECK_BACK(4, "审核驳回", "审核驳回"), | 
|         WAIT_SO_COMFIRM(5, "待服务机构确认", "待服务机构确认"), | 
|         SO_BACK(6, "服务机构拒绝", "服务机构拒绝"), | 
|         SELECTED_SO(7, "已分配服务机构", "已分配服务机构"), | 
|         SERVING(8, "诊断中", "诊断中"), | 
|         SERVICE_DONE(9, "服务完成", "服务完成"), | 
|         SELECT_EXPERT(10, "已分配评分专家", "已分配评分专家"), | 
|         DONE(11, "已完成", "已完成"), | 
|         BACK_SERVER_ING(12, "退回修改", "诊断服务退回修改"), | 
|         BACK_SERVER_DONE(13, "退回修改完成", "诊断服务退回已修改"), | 
|         ; | 
|         // 成员变量 | 
|         private String name; | 
|         private int key; | 
|         private String noteinfo;// 描述 | 
|   | 
|         // 构造方法 | 
|         DeclareStatus(int key, String name, String noteinfo) { | 
|             this.name = name; | 
|             this.key = key; | 
|             this.noteinfo = noteinfo; | 
|         } | 
|   | 
|         // 普通方法 | 
|         public static String getName(int index) { | 
|             for (DeclareStatus c : DeclareStatus.values()) { | 
|                 if (c.getKey() == index) { | 
|                     return c.name; | 
|                 } | 
|             } | 
|             return null; | 
|         } | 
|   | 
|         // 普通方法 | 
|         public static String getNoteinfo(int index) { | 
|             for (DeclareStatus c : DeclareStatus.values()) { | 
|                 if (c.getKey() == index) { | 
|                     return c.noteinfo; | 
|                 } | 
|             } | 
|             return "-"; | 
|         } | 
|   | 
|         // 普通方法 | 
|         public static String getInfo(int index) { | 
|             for (DeclareStatus c : DeclareStatus.values()) { | 
|                 if (c.getKey() == index) { | 
|                     return c.noteinfo; | 
|                 } | 
|             } | 
|             return null; | 
|         } | 
|   | 
|         // get set 方法 | 
|         public String getName() { | 
|             return name; | 
|         } | 
|   | 
|         public void setName(String name) { | 
|             this.name = name; | 
|         } | 
|   | 
|         public int getKey() { | 
|             return key; | 
|         } | 
|   | 
|         public void setKey(int key) { | 
|             this.key = key; | 
|         } | 
|   | 
|         public String getNoteinfo() { | 
|             return noteinfo; | 
|         } | 
|   | 
|     } | 
|   | 
|     public  enum DeclareCheckType{ | 
|         EDITING(0, "已保存", "已保存"), | 
|         CHECK_WAIT(1, "待审核", "待审核"), | 
|         CHECK_PASS(2, "审核通过", "审核通过"), | 
|         CHECK_EDIT(3, "退回修改", "退回修改"), | 
|         CHECK_BACK(4, "审核驳回", "审核驳回"), | 
|         WAIT_SO_COMFIRM(5, "待服务机构确认", "待服务机构确认"), | 
|         SO_BACK(6, "服务机构拒绝", "服务机构拒绝"), | 
|         SELECTED_SO(7, "已分配服务机构", "已分配服务机构"), | 
|         SERVING(8, "诊断中", "诊断中"), | 
|         SERVICE_DONE(9, "服务完成", "服务完成"), | 
|         SELECT_EXPERT(10, "已分配评分专家", "已分配评分专家"), | 
|         DONE(11, "已完成", "已完成"), | 
|         ; | 
|         // 成员变量 | 
|         private String name; | 
|         private int key; | 
|         private String noteinfo;// 描述 | 
|   | 
|         // 构造方法 | 
|         DeclareCheckType(int key, String name, String noteinfo) { | 
|             this.name = name; | 
|             this.key = key; | 
|             this.noteinfo = noteinfo; | 
|         } | 
|   | 
|         // 普通方法 | 
|         public static String getName(int index) { | 
|             for (ProjectRecord c : ProjectRecord.values()) { | 
|                 if (c.getKey() == index) { | 
|                     return c.name; | 
|                 } | 
|             } | 
|             return null; | 
|         } | 
|   | 
|         // 普通方法 | 
|         public static String getInfo(int index) { | 
|             for (ProjectRecord c : ProjectRecord.values()) { | 
|                 if (c.getKey() == index) { | 
|                     return c.noteinfo; | 
|                 } | 
|             } | 
|             return null; | 
|         } | 
|   | 
|         // get set 方法 | 
|         public String getName() { | 
|             return name; | 
|         } | 
|   | 
|         public void setName(String name) { | 
|             this.name = name; | 
|         } | 
|   | 
|         public int getKey() { | 
|             return key; | 
|         } | 
|   | 
|         public void setKey(int key) { | 
|             this.key = key; | 
|         } | 
|   | 
|         public String getNoteinfo() { | 
|             return noteinfo; | 
|         } | 
|     } | 
|   | 
|     public enum DeclareHistoryType{ | 
|   | 
|         EDITING(0,"保存","保存"), | 
|         CHECK_WAIT_COUNTY(1,"待县区审核",""), | 
|         CHECK_PASS_COUNTY(2,"县区审核通过",""), | 
|         CHECK_EDIT_COUNTY(3,"县区退回修改",""), | 
|         CHECK_BACK_COUNTY(4,"县区审核驳回",""), | 
|         TWO_WAY_WAIT_SO_COMFIRM(5,"双选待服务机构确认",""), | 
|         WO_WAY_WAIT_SO_BACK(6,"双选服务机构拒绝",""), | 
|         SELECTED_SO(7,"已分配服务机构",""), | 
|         SO_SERVICE(8,"服务机构诊断",""), | 
|         SO_SERVICE_DONE(9,"服务机构服务完成",""), | 
|         SELECT_EXPERT(10,"分配评分专家",""), | 
|         EXPERT_SCORE(11,"专家完成评分","") | 
|         ; | 
|   | 
|         private int key; | 
|         private String name; | 
|   | 
|         private String noteInfo; | 
|   | 
|         DeclareHistoryType(int key, String name, String noteInfo) { | 
|             this.key = key; | 
|             this.name = name; | 
|             this.noteInfo = noteInfo; | 
|         } | 
|   | 
|         public int getKey() { | 
|             return key; | 
|         } | 
|   | 
|         public void setKey(int key) { | 
|             this.key = key; | 
|         } | 
|   | 
|         public String getName() { | 
|             return name; | 
|         } | 
|   | 
|         public void setName(String name) { | 
|             this.name = name; | 
|         } | 
|   | 
|         public String getNoteInfo() { | 
|             return noteInfo; | 
|         } | 
|   | 
|         public void setNoteInfo(String noteInfo) { | 
|             this.noteInfo = noteInfo; | 
|         } | 
|     } | 
|   | 
|     public interface BasegoodsOrigin{ | 
|          int userAdd = 0; | 
|          int imported = 1; | 
|          int basedata = 2; | 
|     } | 
|     /** | 
|      * 关联对象类型 0企业营业执照 1工商变更登记  2项目申报企业资料 3企业评分表 4诊断报告 5诊断服务资料 6专家评分报告 7服务机构上传服务资料 8企业资质 9企业中标通知书 10项目图片 | 
|      */ | 
|     public  enum MultiFile{ | 
|         BUSINESS_LICENSE(0, "企业营业执照", "企业营业执照"), | 
|         BUSINESS_CHANGE(1, "工商变更登记", "工商变更登记"), | 
|         BUSINESS_DECLARE(2, "项目申报企业资料", "项目申报企业资料"), | 
|         BUSINESS_SCORE(3, "企业评分表", "企业评分表"), | 
|         BUSINESS_DIAGNOSIS(4, "诊断报告", "诊断报告"), | 
|         BUSINESS_DIA_SERVICE(5, "诊断服务资料", "诊断服务资料"), | 
|         BUSINESS_EXPERT(6, "专家评分报告", "专家评分报告"), | 
|         BUSINESS_UP_SERVICE(7, "服务机构上传服务资料", "服务机构上传服务资料"), | 
|         BUSINESS_ZZ(8, "企业资质", "企业资质"), | 
|         BUSINESS_NOTICE(9, "企业中标通知书", "企业中标通知书"), | 
|         BUSINESS_PROURL(10, "项目图片", "项目图片"), | 
|   | 
|         COMPANY_CHANGE_LICENSE(11,"变更企业营业执照","变更企业营业执照"), | 
|   | 
|         COMPANY_CHANGE_CHANGE(12,"变更工商变更登记","变更工商变更登记"), | 
|         BUSINESS_HC(13, "综合服务单位核查资料", "综合服务单位核查资料"), | 
|   | 
|         BUSINESS_UP_EXTRA(14, "服务机构上传服务补充资料", "服务机构上传服务补充资料"), | 
|   | 
|   | 
|         ; | 
|         // 成员变量 | 
|         private String name; | 
|         private int key; | 
|         private String noteinfo;// 描述 | 
|   | 
|         // 构造方法 | 
|         MultiFile(int key, String name, String noteinfo) { | 
|             this.name = name; | 
|             this.key = key; | 
|             this.noteinfo = noteinfo; | 
|         } | 
|   | 
|         // 普通方法 | 
|         public static String getName(int index) { | 
|             for (ProjectRecord c : ProjectRecord.values()) { | 
|                 if (c.getKey() == index) { | 
|                     return c.name; | 
|                 } | 
|             } | 
|             return null; | 
|         } | 
|   | 
|         // 普通方法 | 
|         public static String getInfo(int index) { | 
|             for (ProjectRecord c : ProjectRecord.values()) { | 
|                 if (c.getKey() == index) { | 
|                     return c.noteinfo; | 
|                 } | 
|             } | 
|             return null; | 
|         } | 
|   | 
|         // get set 方法 | 
|         public String getName() { | 
|             return name; | 
|         } | 
|   | 
|         public void setName(String name) { | 
|             this.name = name; | 
|         } | 
|   | 
|         public int getKey() { | 
|             return key; | 
|         } | 
|   | 
|         public void setKey(int key) { | 
|             this.key = key; | 
|         } | 
|   | 
|         public String getNoteinfo() { | 
|             return noteinfo; | 
|         } | 
|   | 
|         private volatile static Set<Integer> multifileCompanyType; | 
|   | 
|         private volatile static Set<Integer> multifileProjectType; | 
|   | 
|         public static Set<Integer> multifileCompanyType(){ | 
|             //        0企业营业执照 1工商变更登记 7企业资质 8企业中标通知书 11 变更企业营业执照 12 变更工商变更登记 | 
|   | 
|             if (CollectionUtils.isEmpty(multifileCompanyType)){ | 
|                 synchronized (MultiFile.class){ | 
|                     if (CollectionUtils.isEmpty(multifileCompanyType)){ | 
|                         multifileCompanyType = new HashSet<>(); | 
|                         multifileCompanyType.add(0); | 
|                         multifileCompanyType.add(1); | 
|                         multifileCompanyType.add(8); | 
|                         multifileCompanyType.add(9); | 
|                         multifileCompanyType.add(11); | 
|                         multifileCompanyType.add(12); | 
|                     } | 
|                 } | 
|             } | 
|             return multifileCompanyType; | 
|         } | 
|   | 
|         public static Set<Integer> multifileProjectType(){ | 
|   | 
|             //2项目申报企业资料 3企业评分表 4诊断报告 5诊断服务资料 6专家评分报告 7服务机构上传服务资料 | 
|             if (CollectionUtils.isEmpty(multifileProjectType)){ | 
|                 synchronized (MultiFile.class){ | 
|                     if(CollectionUtils.isEmpty(multifileProjectType)){ | 
|                         multifileProjectType = new HashSet<>(); | 
|                         multifileProjectType.add(2); | 
|                         multifileProjectType.add(3); | 
|                         multifileProjectType.add(4); | 
|                         multifileProjectType.add(5); | 
|                         multifileProjectType.add(6); | 
|                         multifileProjectType.add(7); | 
|                         multifileProjectType.add(10); | 
|                         multifileProjectType.add(13); | 
|                     } | 
|                 } | 
|             } | 
|             return multifileProjectType; | 
|         } | 
|   | 
|         public static Integer multifileType(String name){ | 
|   | 
|             boolean pic = Arrays.asList(".jpg", "png", "jpeg").stream().anyMatch(s -> name.contains(s)); | 
|             if (pic){ | 
|                 return Constants.ZERO; | 
|             } | 
|             boolean  ivc = Arrays.asList(".avi", "mp4").stream().anyMatch(s -> name.contains(s)); | 
|             if (ivc){ | 
|                 return Constants.ONE; | 
|             } | 
|             return Constants.TWO; | 
|   | 
|         } | 
|   | 
|   | 
|     } | 
|   | 
|     public static void main(String[] args) { | 
|   | 
|         System.out.println("hello&&devicenumber=22110002&&uuid=1e52008fb8ff\n".length()); | 
|     } | 
|     /** | 
|      * 用户类型 0系统用户 1企业用户 2服务机构管理员 3服务机构子账号 4综合服务单位管理员 5综合服务单位子账号 6专家 7县区用户 8市局用户 | 
|      */ | 
|     public  enum UserType { | 
|   | 
|         SYSTEM(0, "系统用户", "管理员",Arrays.asList(0,1,2,3,4,5,6,7,8,9,10,11)), | 
|         COMPANY(1, "企业用户", "企业",Arrays.asList(-1)), | 
|         ZHUBO(2, "主播", "主播",Arrays.asList(-1)), | 
|         ; | 
|         // 成员变量 | 
|         private String name; | 
|         private int key; | 
|         private List<Integer> historyStatus; | 
|         private String noteinfo;// 描述 | 
|   | 
|         // 构造方法 | 
|         UserType(int key, String name, String noteinfo,List<Integer> historyStatus) { | 
|             this.name = name; | 
|             this.key = key; | 
|             this.noteinfo = noteinfo; | 
|             this.historyStatus=historyStatus; | 
|         } | 
|   | 
|         // 普通方法 | 
|         public static String getName(int index) { | 
|             for (UserType c : UserType.values()) { | 
|                 if (c.getKey() == index) { | 
|                     return c.name; | 
|                 } | 
|             } | 
|             return null; | 
|         } | 
|   | 
|         // 普通方法 | 
|         public static String getInfo(int index) { | 
|             for (UserType c : UserType.values()) { | 
|                 if (c.getKey() == index) { | 
|                     return c.noteinfo; | 
|                 } | 
|             } | 
|             return null; | 
|         } | 
|         // 普通方法 | 
|         public static List<Integer> getHistoryStatus(int index) { | 
|             for (UserType c : UserType.values()) { | 
|                 if (c.getKey() == index) { | 
|                     return c.historyStatus; | 
|                 } | 
|             } | 
|             return null; | 
|         } | 
|   | 
|         // get set 方法 | 
|         public String getName() { | 
|             return name; | 
|         } | 
|   | 
|         public void setName(String name) { | 
|             this.name = name; | 
|         } | 
|   | 
|         public int getKey() { | 
|             return key; | 
|         } | 
|         public List<Integer> getHistoryStatus() { | 
|             return historyStatus; | 
|         } | 
|   | 
|         public void setKey(int key) { | 
|             this.key = key; | 
|         } | 
|   | 
|         public String getNoteinfo() { | 
|             return noteinfo; | 
|         } | 
|   | 
|   | 
|   | 
|     } | 
|   | 
|     public  enum ProjectRecord { | 
|   | 
|         COM_EDITING(0, "企业保存数据", "由 ${param2} ${param3}保存成功,当前进度为 【${param4}】"), | 
|         COM_SUBMIT(1, "企业提交数据", "由  ${param2} ${param3}提交成功,当前进度为 【${param4}】"), | 
|         XQ_CHECK_PASS(2, "县区审核通过", "由  ${param2} ${param3}审核通过,审核备注为:${param5};当前进度为 【${param4}】"), | 
|         XQ_CHECK_EDIT(3, "县区审核退回修改", "由  ${param2} ${param3}审核退回修改,审核备注为:${param5};当前进度为 【${param4}】"), | 
|         XQ_CHECK_BACK(4, "县区审核驳回", "由  ${param2} ${param3}审核驳回,审核备注为:${param5};当前进度为 审核驳回,流程结束。"), | 
|         COM_SELECT_SO(5, "企业选择服务机构", "由  ${param2} ${param3}选择 ${param5},当前进度为 【${param4}】"), | 
|         SO_PASS(6, "服务机构确认服务", "由  ${param2} ${param3}确认服务,当前进度为 【${param4}】"), | 
|         SO_BACK(7, "服务机构拒绝服务", "由  ${param2} ${param3}拒绝服务,当前进度为 【${param4}】"), | 
|         SJ_SELECT_SO(8, "市局分配服务机构", "由  ${param2} ${param3}完成分配服务机构,当前进度为 【${param4}】"), | 
|         SD_SELECT_SO(9, "综合服务单位分配服务机构", "由  ${param2} ${param3}完成分配服务机构,当前进度为 【${param4}】"), | 
|         SJ_RESELECT_SO(10, "市局重新分配服务机构", "由  ${param2} ${param3}完成重新分配服务机构,当前进度为 【${param4}】"), | 
|         SD_RESELECT_SO(11, "综合服务单位重新分配服务机构", "由  ${param2} ${param3}完成重新分配服务机构,当前进度为 【${param4}】"), | 
|         SO_SERVICE_UPLOAD(12, "服务机构上传服务数据", "由  ${param2} ${param3}完成上传服务数据,当前进度为 【${param4}】"), | 
|         SO_DONE_SERVICE(13, "服务机构完成服务", "由  ${param2} ${param3}完成服务,当前进度为 【${param4}】"), | 
|         SJ_SELECT_EXPERT(14, "市局分配评分专家", "由  ${param2} ${param3}完成分配评分专家,当前进度为 【${param4}】"), | 
|         SD_SELECT_EXPERT(15, "综合服务单位分配评分专家", "由  ${param2} ${param3}完成分配评分专家,当前进度为 【${param4}】"), | 
|         SJ_RESELECT_EXPERT(16, "市局重新分配评分专家", "由  ${param2} ${param3}完成重新分配评分专家,当前进度为 【${param4}】"), | 
|         SD_RESELECT_EXPERT(17, "综合服务单位重新分配评分专家", "由  ${param2} ${param3}完成重新分配评分专家,当前进度为 【${param4}】"), | 
|         EXPERT_SCORE(18, "专家上传评分", "由  ${param2} ${param3}完成评分,当前进度为 【${param4}】"), | 
|         SD_SERVICE_UPLOAD(19, "综合服务单位上传诊断资料", "由  ${param2} ${param3}完成上传诊断资料,当前进度为 【${param4}】"), | 
|         SD_BACK_DONE(20, "综合服务单位退回修改", "由  ${param2} ${param3}退回修改,当前进度为 【${param4}】"), | 
|   | 
|         SO_BACK_SUBMIT(21 , "服务机构修改完成服务", "由  ${param2} ${param3}完成服务,当前进度为 【${param4}】"), | 
|   | 
|         ; | 
|         // 成员变量 | 
|         private String name; | 
|         private int key; | 
|         private String noteinfo;// 描述 | 
|   | 
|         // 构造方法 | 
|         ProjectRecord(int key, String name, String noteinfo) { | 
|             this.name = name; | 
|             this.key = key; | 
|             this.noteinfo = noteinfo; | 
|         } | 
|   | 
|         // 普通方法 | 
|         public static String getName(int index) { | 
|             for (ProjectRecord c : ProjectRecord.values()) { | 
|                 if (c.getKey() == index) { | 
|                     return c.name; | 
|                 } | 
|             } | 
|             return null; | 
|         } | 
|   | 
|         // 普通方法 | 
|         public static String getInfo(int index) { | 
|             for (ProjectRecord c : ProjectRecord.values()) { | 
|                 if (c.getKey() == index) { | 
|                     return c.noteinfo; | 
|                 } | 
|             } | 
|             return null; | 
|         } | 
|   | 
|         // get set 方法 | 
|         public String getName() { | 
|             return name; | 
|         } | 
|   | 
|         public void setName(String name) { | 
|             this.name = name; | 
|         } | 
|   | 
|         public int getKey() { | 
|             return key; | 
|         } | 
|   | 
|         public void setKey(int key) { | 
|             this.key = key; | 
|         } | 
|   | 
|         public String getNoteinfo() { | 
|             return noteinfo; | 
|         } | 
|   | 
|         public void setNoteinfo(String noteinfo) { | 
|             this.noteinfo = noteinfo; | 
|         } | 
|   | 
|         public static String getContentWithData(ProjectRecord template, Map<String, String> params){ | 
|             String pattern = "\\$\\{(.+?)\\}"; | 
|             Pattern p = Pattern.compile(pattern); | 
|             Matcher m = p.matcher(template.noteinfo); | 
|             StringBuffer sb = new StringBuffer(); | 
|             while (m.find()){ | 
|                 String key = m.group(1); | 
|                 String value = params.get(key); | 
|                 m.appendReplacement(sb, value == null ? "" : value); | 
|             } | 
|             m.appendTail(sb); | 
|             return sb.toString(); | 
|         } | 
|   | 
|     } | 
|   | 
|     /** | 
|      * 数据状态枚举 | 
|      * | 
|      */ | 
|     public enum Status { | 
|   | 
|         /** 用户启用禁用枚举值*/ | 
|         ENABLE(0,"正常"), | 
|         DISABLE(1,"禁用"); | 
|   | 
|         private  Integer value; | 
|         private  String des; | 
|   | 
|   | 
|         Status(Integer value, String des) { | 
|             this.value = value; | 
|             this.des = des; | 
|         } | 
|   | 
|         public Integer getValue() { | 
|             return value; | 
|         } | 
|   | 
|         public void setValue(Integer value) { | 
|             this.value = value; | 
|         } | 
|   | 
|         public String getDes() { | 
|             return des; | 
|         } | 
|   | 
|         public void setDes(String des) { | 
|             this.des = des; | 
|         } | 
|     } | 
|   | 
|   | 
|     public enum goodsType { | 
|   | 
|         /** 用户启用禁用枚举值*/ | 
|         CREATE(0,"自建"), | 
|         PULL(1,"拉取"); | 
|   | 
|         private  Integer value; | 
|         private  String des; | 
|   | 
|   | 
|         goodsType(Integer value, String des) { | 
|             this.value = value; | 
|             this.des = des; | 
|         } | 
|   | 
|         public Integer getValue() { | 
|             return value; | 
|         } | 
|   | 
|         public void setValue(Integer value) { | 
|             this.value = value; | 
|         } | 
|   | 
|         public String getDes() { | 
|             return des; | 
|         } | 
|   | 
|         public void setDes(String des) { | 
|             this.des = des; | 
|         } | 
|     } | 
|   | 
|   | 
|     public enum CompanyType{ | 
|   | 
|         BUSINESS_COMPANYTYPE(0,"企业"), | 
|   | 
|         SERVICE_COMPANYTYPE(1,"服务机构"), | 
|   | 
|         ZF_SERVICE_COMPANY(2,"综合服务单位"); | 
|   | 
|         private  Integer value; | 
|         private  String des; | 
|   | 
|         CompanyType(Integer value, String des) { | 
|             this.value = value; | 
|             this.des = des; | 
|         } | 
|   | 
|         public Integer getValue() { | 
|             return value; | 
|         } | 
|   | 
|         public void setValue(Integer value) { | 
|             this.value = value; | 
|         } | 
|   | 
|         public String getDes() { | 
|             return des; | 
|         } | 
|   | 
|         public void setDes(String des) { | 
|             this.des = des; | 
|         } | 
|     } | 
| } |