陈力
2023-06-09 cca5f79b3af36e5a908c5dfecbd30110febe3baa
app/src/main/java/com/lotaai/canguiayw/MainActivity.java
@@ -8,26 +8,33 @@
import android.os.Build;
import android.os.Build.VERSION;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;
import com.alibaba.fastjson.JSONObject;
import com.blankj.utilcode.util.CacheDiskUtils;
import com.blankj.utilcode.util.DeviceUtils;
import com.blankj.utilcode.util.LogUtils;
import com.blankj.utilcode.util.TimeUtils;
import com.lotaai.canguiayw.device.CanGuiCommand;
import com.lotaai.canguiayw.device.CanguiStatus;
import com.lotaai.canguiayw.device.DeviceMessage;
import com.lotaai.canguiayw.device.DeviceType;
import com.lotaai.canguiayw.device.MessageType;
import com.lotaai.canguiayw.common.HttpLoggerInterceptor;
import com.lotaai.canguiayw.common.HttpUrlDefine;
import com.lotaai.canguiayw.common.SettingConfig;
import com.lotaai.canguiayw.device.service.CanGuiService;
import com.lotaai.canguiayw.sqllitedb.Order;
import com.lotaai.canguiayw.sqllitedb.OrderDetail;
import com.lotaai.canguiayw.sqllitedb.SqlliteDbManage;
import com.lotaai.canguiayw.mqtt.MyMQTTService;
import com.pranavpandey.android.dynamic.toasts.DynamicToast;
import org.greenrobot.eventbus.EventBus;
import java.io.IOException;
import java.util.concurrent.TimeUnit;
import java.util.Date;
import java.util.Random;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.FormBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
public class MainActivity extends AppCompatActivity {
    private Context context;
@@ -41,43 +48,48 @@
        context = MainActivity.this;
        Intent startIntent = new Intent(context, CanGuiService.class);
        startService(startIntent);
        Intent startMqttIntent = new Intent(context, MyMQTTService.class);
        startService(startMqttIntent);
        login();
        logoView.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View view) {
                Intent intent = new Intent();
                intent.setClass(MainActivity.this, AdminLoginActivity.class);
                startActivity(intent);
//                Intent intent = new Intent();
//                intent.setClass(MainActivity.this, AdminLoginActivity.class);
//                startActivity(intent);
                return true;
            }
        });
        testData();
//        testData();
    }
    public void  testData(){
        Random random = new Random();
        int rt= random.nextInt(10000-1000+1)  + 1000;
        Order order = new Order();
        order.setOrderNo("GB"+ rt);
        order.setGridNo("1");
        order.setTakeCode("526895");
        order.setState(0);
        Date time = new Date();
        order.setPutInDate(TimeUtils.date2String(time,"yyyy-MM-dd HH:mm:ss"));
        SqlliteDbManage.getInstance().insertOrderInfo(order);
        for (int p = 0; p < 3;p ++){
            OrderDetail detail = new OrderDetail();
            detail.setItemName("项目"+p);
            detail.setNum(p);
            detail.setOrderNo(order.getOrderNo());
            SqlliteDbManage.getInstance().insertOrUpdateOrderDetailInfo(detail);
        }
        LogUtils.i("插入订单数据:" + order.getOrderNo());
    }
//    public void  testData(){
//        Random random = new Random();
//        int rt= random.nextInt(10000-1000+1)  + 1000;
//        Order order = new Order();
//        order.setOrderNo("GB"+ rt);
//        order.setGridNo("1");
//        order.setTakeCode("526895");
//        order.setState(0);
//        Date time = new Date();
//        order.setPutInDate(TimeUtils.date2String(time,"yyyy-MM-dd HH:mm:ss"));
//        SqlliteDbManage.getInstance().insertOrderInfo(order);
//        for (int p = 0; p < 3;p ++){
//            OrderDetail detail = new OrderDetail();
//            detail.setItemName("项目"+p);
//            detail.setNum(p);
//            detail.setOrderNo(order.getOrderNo());
//            SqlliteDbManage.getInstance().insertOrUpdateOrderDetailInfo(detail);
//        }
//        LogUtils.i("插入订单数据:" + order.getOrderNo());
//    }
    public void gotoSetting(View view){
        Intent intent = new Intent();
        intent.setClass(MainActivity.this, AdminLoginActivity.class);
        startActivity(intent);
//        Intent intent = new Intent();
//        intent.setClass(MainActivity.this, AdminLoginActivity.class);
//        startActivity(intent);
    }
    public void take(View view){
@@ -92,4 +104,68 @@
        startActivity(intent);
    }
    public void login() {
        HttpLoggerInterceptor loggingInterceptor = new HttpLoggerInterceptor(true);
        OkHttpClient client = new OkHttpClient.Builder()
                .connectTimeout(20, TimeUnit.SECONDS)//响应时间,读取时间
                .readTimeout(20, TimeUnit.SECONDS)
                .callTimeout(20, TimeUnit.SECONDS)
                .addInterceptor(loggingInterceptor)//添加日志拦截器
                .build();
        RequestBody body = new FormBody.Builder()
                .add("equipmentUid", DeviceUtils.getUniqueDeviceId()).build();
        final Request request = new Request.Builder()
                .url(HttpUrlDefine.equipmentLogin)
                .addHeader("language", "zh-CN")
                .post(body)
                .build();
        client.newCall(request).enqueue(new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {
                Message msg = new Message();
                msg.what = 0;
                msg.obj = "登录失败";
                showHandler.sendMessage(msg);
                LogUtils.e(e);
            }
            @Override
            public void onResponse(Call call, Response response) throws IOException {
                String result = response.body().string();
                LogUtils.i("获取到的数据:"+result);
                JSONObject obj = JSONObject.parseObject(result);
                if ("0".equals(obj.getString("code"))) {
                    JSONObject dataObj = obj.getJSONObject("data");
                    String name = dataObj.getString("name");
                    Message msg = new Message();
                    msg.what = 1;
                    msg.obj = "登录成功!" + name;
                    showHandler.sendMessage(msg);
                    //equipmentCode
                    String code = dataObj.getString("equipmentCode");
                    CacheDiskUtils.getInstance().put(SettingConfig.getInstance().Cache_Device_Code, code);
                } else {
                    Message msg = new Message();
                    msg.what = 0;
                    msg.obj = "登录失败:请重新激活!" ;
                    showHandler.sendMessage(msg);
                }
            }
        });
    }
    private Handler showHandler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            if (msg.what == 0) {
                DynamicToast.makeError(context, msg.obj.toString(), 3).show();
            } else if (msg.what == 1) {
                DynamicToast.makeSuccess(context, msg.obj.toString(), 3).show();
            } else {
                DynamicToast.makeWarning(context, msg.obj.toString(), 3).show();
            }
        }
    };
}