|  |  |  | 
|---|
|  |  |  | String json = obj.toJSONString(); | 
|---|
|  |  |  | Com99Vo cvo = JSON.parseObject(json, Com99Vo.class) ; | 
|---|
|  |  |  | if(cvo == null){ | 
|---|
|  |  |  | throw new Exception("json转Com97Vo为null") ; | 
|---|
|  |  |  | throw new Exception("json转Com99Vo为null") ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(cvo.icCardNo == null){ | 
|---|
|  |  |  | throw new Exception("虚拟IC卡编号不能为空") ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(cvo.moneyRemain == null){ | 
|---|
|  |  |  | throw new Exception("剩余金额不能为空") ; | 
|---|
|  |  |  | if(cvo.moneyRemain == null || cvo.moneyRemain == 0.0){ | 
|---|
|  |  |  | throw new Exception("剩余金额不能为空或为0") ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(cvo.waterPrice == null){ | 
|---|
|  |  |  | throw new Exception("水价不能为空") ; | 
|---|
|  |  |  | if(cvo.waterPrice == null || cvo.waterPrice == 0.0){ | 
|---|
|  |  |  | throw new Exception("水价不能为空或为0") ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(cvo.minutes == null){ | 
|---|
|  |  |  | throw new Exception("用水时长不能为空") ; | 
|---|
|  |  |  | if(cvo.minutes == null || cvo.minutes == 0.0){ | 
|---|
|  |  |  | throw new Exception("用水时长不能为空或为0") ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(cvo.minutes < 0 || cvo.minutes > 9999){ | 
|---|
|  |  |  | throw new Exception("用水时长取值范围是0~9999分钟") ; | 
|---|
|  |  |  | 
|---|
|  |  |  | //ByteUtil.string2BCD_LE(bs, icCardNoGrp[1], index) ; | 
|---|
|  |  |  | byte[] bs = new byte[8] ; | 
|---|
|  |  |  | GlCreate.createIcCardNo(cvo.icCardNo, bs, 0); | 
|---|
|  |  |  | bytes = ByteUtil.bytesMerge(bsHead, bs) ; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | index += 5 ; | 
|---|
|  |  |  | bs = new byte[4] ; | 
|---|
|  |  |  | index = 0 ; | 
|---|
|  |  |  | Integer money = Double.valueOf(cvo.moneyRemain * 100.0D).intValue() ; | 
|---|
|  |  |  | byte[] bTemp = ByteUtil.int2BCD_LE(money) ; | 
|---|
|  |  |  | int bTempLen = bTemp.length ; | 
|---|
|  |  |  | 
|---|
|  |  |  | for(; count < 4; count++){ | 
|---|
|  |  |  | bs[index++] = 0 ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | bytes = ByteUtil.bytesMerge(bytes, bs) ; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | bs = new byte[2] ; | 
|---|
|  |  |  | index = 0 ; | 
|---|
|  |  |  | Integer price = Double.valueOf(cvo.waterPrice * 100.0D).intValue() ; | 
|---|
|  |  |  | bTemp = ByteUtil.int2BCD_LE(price) ; | 
|---|
|  |  |  | bTempLen = bTemp.length ; | 
|---|
|  |  |  | 
|---|
|  |  |  | for(; count < 2; count++){ | 
|---|
|  |  |  | bs[index++] = 0 ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | bytes = ByteUtil.bytesMerge(bytes, bs) ; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | bs = new byte[2] ; | 
|---|
|  |  |  | index = 0 ; | 
|---|
|  |  |  | bTemp = ByteUtil.int2BCD_LE(cvo.minutes) ; | 
|---|
|  |  |  | bTempLen = bTemp.length ; | 
|---|
|  |  |  | count = 0 ; | 
|---|
|  |  |  | 
|---|
|  |  |  | for(; count < 2; count++){ | 
|---|
|  |  |  | bs[index++] = 0 ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | bytes = ByteUtil.bytesMerge(bsHead, bs) ; | 
|---|
|  |  |  | bytes = ByteUtil.bytesMerge(bytes, bs) ; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | GlCreate.createLen(bytes);//长度放字节数组中 | 
|---|
|  |  |  |  | 
|---|