2%com/digitallib/task/ProductUpdateTaskjava/lang/ObjectreqTypeLjava/lang/Integer;service,Lcom/chineseall/core/service/IEntityService;()VCode  LineNumberTableLocalVariableTablethis'Lcom/digitallib/task/ProductUpdateTask;checkProductVersion  java/util/Random   nextInt(I)I java/lang/Thread !sleep(J)V # $%fetchModuleVersion(Ljava/lang/String;)V ')(*com/chineseall/core/servlet/InitParameters *+ productInfoVo'Lcom/digitallib/model/vo/ProductInfoVo; -/.%com/digitallib/model/vo/ProductInfoVo 01getAccreditModule()Ljava/lang/String;3,level, 576java/lang/String 89indexOf(Ljava/lang/String;)I;level=,screen,?screenA ,textbook,CtextbookE,xapi,Gxapi IKJjava/lang/Exception L printStackTracerndLjava/util/Random;voeLjava/lang/Exception; StackMapTableT&com/digitallib/model/bo/DigitalRelease VXW(org/hibernate/criterion/DetachedCriteria YZforClass=(Ljava/lang/Class;)Lorg/hibernate/criterion/DetachedCriteria;\module ^`_$org/hibernate/criterion/Restrictions abeqP(Ljava/lang/String;Ljava/lang/Object;)Lorg/hibernate/criterion/SimpleExpression; Vd efaddO(Lorg/hibernate/criterion/Criterion;)Lorg/hibernate/criterion/DetachedCriteria; ^h ijisNull7(Ljava/lang/String;)Lorg/hibernate/criterion/Criterion;lid npoorg/hibernate/criterion/Order qrdesc3(Ljava/lang/String;)Lorg/hibernate/criterion/Order; Vt uvaddOrderK(Lorg/hibernate/criterion/Order;)Lorg/hibernate/criterion/DetachedCriteria; x  z|{*com/chineseall/core/service/IEntityService }~loadEntityByCriteria>(Lorg/hibernate/criterion/DetachedCriteria;)Ljava/lang/Object; ' VERSIONLjava/lang/String; S 1getDigitalVersion 5 9 compareTo 5 equals(Ljava/lang/Object;)Z0 ' VERSION_SCREEN ' VERSION_TEXTBOOK '  VERSION_LEVEL '  VERSION_XAPIjava/lang/StringBuilderhttp:// % ' SUPPORT_PLAT_IP append-(Ljava/lang/String;)Ljava/lang/StringBuilder;*/admin/product/fetchReleasedProduct.action 1toStringjava/util/ArrayList *org/apache/http/message/BasicNameValuePairversion '(Ljava/lang/String;Ljava/lang/String;)V java/util/List e productNumber - 1getProductNumber java/lang/System outLjava/io/PrintStream; 5 valueOf&(Ljava/lang/Object;)Ljava/lang/String;-> java/io/PrintStream %printlnutf-8 "com/digitallib/util/HttpClientUtil fetchPageContentH(Ljava/lang/String;Ljava/util/List;Ljava/lang/String;)Ljava/lang/String; #org/apache/commons/lang/StringUtils isEmpty(Ljava/lang/String;)Z no return net/sf/json/JSONObject  fromObject,(Ljava/lang/Object;)Lnet/sf/json/JSONObject;result  getString&(Ljava/lang/String;)Ljava/lang/String;1ver releaseTimeupdatepath4/admin/product/fetchReleasedPackage.action?objectId= '  ROOT_PATH java/io/File   getParentFile()Ljava/io/File;  exists()Z   mkdirs  java/net/URL    openConnection()Ljava/net/URLConnection; java/net/URLConnection getInputStream()Ljava/io/InputStream;java/io/FileOutputStream   write([BII)V ! java/io/InputStream "#read([B)I % & flush ( ) close ( S S- .%setDigitalVersion S0 12setId(Ljava/lang/Integer;)V4yyyy-MM-dd HH:mm:ss 687com/chineseall/util/DateUtil 9:parse6(Ljava/lang/String;Ljava/lang/String;)Ljava/util/Date; S< =>setReleaseTime(Ljava/util/Date;)V S@ A%setUpdateContent SC D%setUpdatePackagePath FHGjava/lang/Integer I(I)Ljava/lang/Integer; SK L2 setStatus N O isNotEmpty SQ R% setModule zT UV saveOrUpdate(Ljava/lang/Object;)V XKYjava/io/IOExceptiondc*Lorg/hibernate/criterion/DetachedCriteria;release(Lcom/digitallib/model/bo/DigitalRelease;linknvpsLjava/util/List; returnStringjsonLnet/sf/json/JSONObject;digitalVersion updateContentisLjava/io/InputStream;Ljava/io/FileOutputStream;urlConnLjava/net/URLConnection;savePathurlLjava/net/URL;bs[BbytereadILjava/io/IOException;LocalVariableTypeTable1Ljava/util/List;owjava/lang/ThrowablecheckNeedUpdateVersionzstatus n| }rasc z findByCriteria<(Lorg/hibernate/criterion/DetachedCriteria;)Ljava/util/List;  size()I  get(I)Ljava/lang/Object; S 1getUpdatePackagePath  updateProductVersion'(Ljava/lang/String;Ljava/lang/String;)Ijava/util/Date  S > setUpdateTimeos.name   getPropertyWindows 5  startsWithtask/digital-restart.bat  executeWindowsCommand((Ljava/lang/String;[Ljava/lang/String;)VLinuxtask/digital-restart.sh  executeLinuxCommandlistisRestartServiceZiresos updateVersion'(Ljava/lang/Integer;)Ljava/lang/String; z  loadEntity;(Ljava/lang/Class;Ljava/io/Serializable;)Ljava/lang/Object; 更新成功 更新失败verIdinfo run Windows: java/lang/Runtime  getRuntime()Ljava/lang/Runtime; cmd.exe /c ""  exec'(Ljava/lang/String;)Ljava/lang/Process; java/lang/Process waitForcmdPathparams[Ljava/lang/String;cmdprocLjava/lang/Process; run Linux:sh  (([Ljava/lang/String;)Ljava/lang/Process; java/io/BufferedReaderjava/io/InputStreamReader  (Ljava/io/InputStream;)V  (Ljava/io/Reader;)V  1readLineINFO:incmdsproLjava/io/BufferedReader;os.name:java/io/FileInputStream java/util/zip/ZipInputStream java/io/BufferedInputStream   java/util/zip/ZipEntry  1getName 5  1 toLowerCase   isDirectory.xml 5 endsWith.class.jar  (Ljava/io/File;)Vjava/io/BufferedOutputStream  !(Ljava/io/OutputStream;)V # $(I)V & " % ( *%+java/io/OutputStream *(..sql 021com/digitallib/util/StringUtil 3getFileCharset 576com/chineseall/util/FileUtil 89 readFromFile8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;;; 5= >?split'(Ljava/lang/String;)[Ljava/lang/String;A set names 5C D1trim zF G9 excuteSQLI delete.txtK M NdeleteP删除文件: R ST getNextEntry()Ljava/util/zip/ZipEntry; ( ( (rootPath zipFilePath updateSuccessLjava/io/FileInputStream;Ljava/io/OutputStream;zisLjava/util/zip/ZipInputStream;bisLjava/io/BufferedInputStream;outFileLjava/io/File;entryLjava/util/zip/ZipEntry;namebosLjava/io/BufferedOutputStream;bcharsetcontentesqllinefilePathuploadNewVersion4(Ljava/io/File;Ljava/lang/String;)Ljava/lang/String;q textbook-ver-s screen-ver-u level-ver-wver- 5y z{replaceD(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;}.zip. 5  substring(II)Ljava/lang/String; F 9parseInt F intValue ,plat_senior,*升级包版本不正确,无法升级!d3该升级包,已经升级成功或正在升级! 5 length 5 (I)Ljava/lang/String;digital_product_version z saveUploadFileF(Ljava/io/File;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; S getId()Ljava/lang/Integer;   headImageheadImageFileNameiVersionobjLjava/lang/Object; getService.()Lcom/chineseall/core/service/IEntityService; setService/(Lcom/chineseall/core/service/IEntityService;)V getReqType setReqType SourceFileProductUpdateTask.java!   /* (   _*YL+Xh*"&L++,+,24 *:"++,+,<4 *>"++,+,@4 *B"+$+,+,D4*F"L+HIR./03#5'627>8D;O<[=a@lAxB~EFGIJL*MN'tO+PQR%-I$% SUM+,[+]cW ,[gcW,kmsW*w,ySN:+&:---:+>%:---:+B%:-}-q-:c+:%:-R-F-:8+F%:-'--: - -:Y:Y:YW+Y[+WY&WYƷʶ+Ѹ:ٙ ߶̱::   : : : k: :Y ::::YƷ:YYW Y : ::Y::6 Y6$':*:SY+N- ,-/- 35;- ?-B-EJ+M-+P*w-Sl:H$' :W|*t:Wj:$' :W* :W$' :W*:WM,H 9I(25XAFIX9#SZdgXsx{XXXII:QPR STU"W,X0Y6X:Z=[A\F]J^V_\`abmcqduefgijklmnpqrstuwxyz{| ~).3<ATXjmu~ #(0369Pbr} #(-27<AFKSUZ_dinsx}.\Z[:x\]=u3^<v_`abc d  e l  3fg6|h9yijPk}lm|noypqPQ7PriPrPrKPr}PrPrPQs <v_tRgV AS5**** 95955VS55555555550 u a 5VS555555555IXXLXIv5VS555555555vXLX5VS555555555QXLX 5Ix  'SUL+yE]cW+k{sW*w+~M>,,v6e,S:*YƷ6#YEJ*wS >,X: YƷ(YƷ!*,9?LPhmr~RZ[*`,<pqLR]m1qMR+?VRS  35$ M*wS+SN*YƷ-6'-Y-EJ*w-SMMX: YƷ(YƷ,v /49 D L V Z ]agoz>]4qoMR]5S55$  ;Y·**M+1+,>!Y,ƷĶ+2M+߲,̸ƻY̷,ζN-6M,HvyI: "#"$'%B$K(R)U*l)p+v,z-~/>]$'qpzPQR'5-5I  ʲY*M*N-+H+C+`5:S-S6`+2S`2̄+5YSY-S::WMYY,::Y̧N-HI^2356"8+94:;;@<F=Q>^<h@kA{CDEFGHIJLp g47{FC%q<"PQR7F55 H5I &Y,>:::Y̻Y,:Y:Y::   :   ٚ    >YY+Ʒ :    WY :Y:   "%Y6  ' (),: -YƷ /:YƷ 4::<:6O22 @02B*w2EW :H  HYƷ Ѹ4:J<:6WYƷ2B:Y(YLWYŌQY: UVW:n:H>), :WtWl:Wb:), :WW :W), :WW :W IIXXXX XXhOPRSTV W8XBYMZX[[]^^h_p`adefijkmnpqps tuvwy*{7|?{EzG_a~d}fpv %*9F^i]ty~ $B &&X&YZqf[\ iM<]^X1_`[.ab ^ cd qcd he wfg hq ehq GifdjpZsWqkQljbl _q*4mPQPrPr PrPrPrPrRP M 55*5'5 2y55*5555/QI 55*55?5P 55*5"55*IZXLXIv55*vXLX55*QXLXno KN,p4,r4,t4,vx|xN E:-~4--~4E:-E: :H %&&,&,4SU:-]cW*wy:#,,v4v`|xN*w+,:SY+:-,/Y;?BYEJ*wS*;ehI-  *04;EGNY\ejoy!-6Af KKbKId;jPQ#Z[ ZkQ\]R\5FKI') /*w  >*+w  /* 2 >*+