|  |  | 
 |  |  | import com.dy.common.mw.protocol.p206V1_0_0.CommonV1_0_1; | 
 |  |  | import com.dy.common.mw.protocol.p206V1_0_0.ParseParamsForDownV1_0_1; | 
 |  |  | import com.dy.common.mw.protocol.p206V1_0_0.ProtocolConstantV206V1_0_0; | 
 |  |  | import com.dy.common.mw.protocol.p206V1_0_0.downVos.Com97Vo; | 
 |  |  | import com.dy.common.mw.protocol.p206V1_0_0.downVos.Com99Vo; | 
 |  |  | import com.dy.common.mw.protocol.p206V1_0_0.parse.global.GlCreate; | 
 |  |  | import com.dy.common.util.ByteUtil; | 
 |  |  | 
 |  |  |         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分钟") ; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         String[] icCardNoGrp = CommonV1_0_1.dealIcCardNo(cvo.icCardNo) ; | 
 |  |  |         if(icCardNoGrp[0] != null){ | 
 |  |  |             midRs.param = icCardNoGrp[0] ; | 
 |  |  |         } | 
 |  |  |         //String[] icCardNoGrp = CommonV1_0_1.dealIcCardNo(cvo.icCardNo) ; | 
 |  |  |         //if(icCardNoGrp[0] != null){ | 
 |  |  |         //    midRs.param = icCardNoGrp[0] ; | 
 |  |  |         //} | 
 |  |  |         //byte[] bs = new byte[13] ; | 
 |  |  |         //index = 0 ; | 
 |  |  |         //ByteUtil.string2BCD_LE(bs, icCardNoGrp[1], index) ; | 
 |  |  |         byte[] bs = new byte[8] ; | 
 |  |  |         GlCreate.createIcCardNo(cvo.icCardNo, bs, 0); | 
 |  |  |         bytes = ByteUtil.bytesMerge(bsHead, bs) ; | 
 |  |  |  | 
 |  |  |         byte[] bs = new byte[13] ; | 
 |  |  |  | 
 |  |  |         bs = new byte[4] ; | 
 |  |  |         index = 0 ; | 
 |  |  |         ByteUtil.string2BCD_LE(bs, icCardNoGrp[1], index) ; | 
 |  |  |  | 
 |  |  |         index += 5 ; | 
 |  |  |         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);//长度放字节数组中 | 
 |  |  |  |