lizhanwei
2020-02-17 b3b6a944ac3f8279a04f496bc2c4533a92555a71
app/src/main/java/safeluck/drive/evaluation/platformMessage/StopExamMessage.java
@@ -1,10 +1,22 @@
package safeluck.drive.evaluation.platformMessage;
import android.text.TextUtils;
import com.anyun.im_lib.util.ByteUtil;
/**
 * 上报结束考试
 */
public class StopExamMessage extends DriveExamProtocol {
    private static final short BODY_LENGTH = 29;
    private static final short BODY_LENGTH = 30;
    private int currPos = 0;
    private String ID;//身份证
    private String BCDStr;//时间BCD[6] YYMMDDhhmmss
    private int exam_id;// DWORD  4字节 唯一考试ID标志
    private short score;//扣分分数 一字节
    private short reasonType;
    /**
     * 构造函数
@@ -18,6 +30,28 @@
    @Override
    protected byte[] createMessageBody() {
        byte [] messageBody = new byte[BODY_LENGTH];
        byte[] idBytes = !TextUtils.isEmpty(ID)?ID.getBytes():"".getBytes();
        byte[] timeStampBCD = ByteUtil.str2Bcd(BCDStr);
        byte[] examIdBytes = ByteUtil.intGetBytes(exam_id);
        byte[] score_bytes = ByteUtil.shortGetByte(score);
        byte[] reason_bytes = ByteUtil.shortGetByte(reasonType);
        System.arraycopy(idBytes,0,messageBody,currPos,idBytes.length);
        currPos += 18;
        System.arraycopy(timeStampBCD,0,messageBody,currPos,timeStampBCD.length);
        currPos += timeStampBCD.length;
        System.arraycopy(examIdBytes,0,messageBody,currPos,examIdBytes.length);
        currPos += 4;
        System.arraycopy(score_bytes,0,messageBody,currPos,1);
        currPos += 1;
        System.arraycopy(reason_bytes,0,messageBody,currPos,1);
        return messageBody;
    }