From b2fe9c4f073523284c671bf8895a8412cd269518 Mon Sep 17 00:00:00 2001
From: endian11 <Dana_Lee1016@126.com>
Date: 星期二, 19 一月 2021 15:06:34 +0800
Subject: [PATCH] 完成灯光发送

---
 app/src/main/java/safeluck/drive/evaluation/util/DataInit.kt                     |   37 +++++-
 app/src/main/java/safeluck/drive/evaluation/bean/SimulateNightBean.java          |  174 ++++++++++++++++++++++++++++++----
 app/src/main/java/safeluck/drive/evaluation/bean/AbsInitialData.java             |   10 +
 app/src/main/java/safeluck/drive/evaluation/DB/lightdb/LightUseQuestions.java    |   10 ++
 app/src/main/assets/lightallanswers.json                                         |    4 
 app/src/main/java/safeluck/drive/evaluation/fragment/LightExamFragment.java      |    7 +
 app/src/main/java/safeluck/drive/evaluation/DB/lightdb/LightUseQuestionsDao.java |    2 
 app/src/main/res/layout/fragment_light_exam_list.xml                             |    2 
 app/src/main/assets/lightdefault.json                                            |    2 
 9 files changed, 212 insertions(+), 36 deletions(-)

diff --git a/app/src/main/assets/lightallanswers.json b/app/src/main/assets/lightallanswers.json
index e6628db..de5a303 100644
--- a/app/src/main/assets/lightallanswers.json
+++ b/app/src/main/assets/lightallanswers.json
@@ -9,7 +9,7 @@
   {
     "id":1,
     "question_id":0,
-    "answer": "寮�鍚ぇ鐏紝杩滆繎鍏夌伅閮藉彲浠�",
+    "answer": "寮�鍚ぇ鐏紝杩溿�佽繎鍏夌伅閮藉彲浠�",
     "choose":0
   },
   {
@@ -39,7 +39,7 @@
   {
     "id":6,
     "question_id":5,
-    "answer": "寮�鍚ず瀹界伅鍜屽嵄闄╄绀虹伅",
+    "answer": "绀哄鐏�+鍗遍櫓璀︾ず鐏�",
     "choose":1
   },
   {
diff --git a/app/src/main/assets/lightdefault.json b/app/src/main/assets/lightdefault.json
index 7c2962b..7dc4c53 100644
--- a/app/src/main/assets/lightdefault.json
+++ b/app/src/main/assets/lightdefault.json
@@ -37,7 +37,7 @@
   {
     "id":5,
     "question": "澶滈棿鍦ㄩ亾璺笂鍙戠敓鏁呴殰锛屽Θ纰嶄氦閫氬張闅句互绉诲姩",
-    "answer": "寮�鍚ず瀹界伅鍜屽嵄闄╄绀虹伅",
+    "answer": "绀哄鐏�+鍗遍櫓璀︾ず鐏�",
     "flag":0
   },
   {
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/lightdb/LightUseQuestions.java b/app/src/main/java/safeluck/drive/evaluation/DB/lightdb/LightUseQuestions.java
index 7dff663..6891d1f 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/lightdb/LightUseQuestions.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/lightdb/LightUseQuestions.java
@@ -49,4 +49,14 @@
     public void setFlag(int flag) {
         this.flag = flag;
     }
+
+    @Override
+    public String toString() {
+        return "LightUseQuestions{" +
+                "id=" + id +
+                ", question='" + question + '\'' +
+                ", answer='" + answer + '\'' +
+                ", flag=" + flag +
+                '}';
+    }
 }
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/lightdb/LightUseQuestionsDao.java b/app/src/main/java/safeluck/drive/evaluation/DB/lightdb/LightUseQuestionsDao.java
index 2aeed11..a2070b4 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/lightdb/LightUseQuestionsDao.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/lightdb/LightUseQuestionsDao.java
@@ -33,4 +33,6 @@
     LiveData<List<LightUseQuestions>> getLightUseQuestions();
 
 
+    @Query("SELECT * FROM lightUseQuest")
+    List<LightUseQuestions>  lightUseQuestionsNoLive();
 }
diff --git a/app/src/main/java/safeluck/drive/evaluation/bean/AbsInitialData.java b/app/src/main/java/safeluck/drive/evaluation/bean/AbsInitialData.java
index 96bbf48..10daff0 100644
--- a/app/src/main/java/safeluck/drive/evaluation/bean/AbsInitialData.java
+++ b/app/src/main/java/safeluck/drive/evaluation/bean/AbsInitialData.java
@@ -15,6 +15,7 @@
 
 import safeluck.drive.evaluation.app;
 
+import safeluck.drive.evaluation.util.CThreadPoolExecutor;
 import safeluck.drive.evaluation.util.DataInitKt;
 
 import static safeluck.drive.evaluation.util.DataInitKt.sendJudgeArgs;
@@ -107,14 +108,17 @@
 //闇�瑕佸欢杩熷彂閫侊紝鍥犱负鍓嶉潰鏈塰ttp璇锋眰
             executorService.schedule(()->{
                 Log.i("AYJiaKao","寤惰繜鍙戦��");
-                if (DataInitKt.getSendVehiSucc() && (DataInitKt.getSendMapSucc() || DataInitKt.getSendRoadMapSucc())){
+//                if (DataInitKt.getSendVehiSucc() && (DataInitKt.getSendMapSucc() || DataInitKt.getSendRoadMapSucc())){
+                CThreadPoolExecutor.runInBackground(()->{
                     sendLightsAndExamStatus();
-                }else{
+                });
+
+//                }else{
                     MyLog.i(DataInitKt.getSendRoadMapSucc()?String.format("閬撹矾鍦板浘鍙戦�佹垚鍔�"):"閬撹矾鍦板浘鍙戦�佸け璐�");
                     MyLog.i(DataInitKt.getSendMapSucc()?String.format("鍦哄湴鍦板浘鍙戦�佹垚鍔�"):"鍦哄湴鍦板浘鍙戦�佸け璐�");
                     MyLog.i(DataInitKt.getSendVehiSucc()?String.format("杞﹁締妯″瀷鍙戦�佹垚鍔�"):"杞﹁締妯″瀷鍙戦�佸け璐�");
                     Toast.makeText(app.getAppContext(), "鍦板浘鎴栬溅妯″瀷涓嶅瓨鍦紝璇锋鏌ュ钩鍙伴厤缃垨鎵嬪伐閰嶇疆", Toast.LENGTH_SHORT).show();
-                }
+//                }
                 },2, TimeUnit.SECONDS);
 
 
diff --git a/app/src/main/java/safeluck/drive/evaluation/bean/SimulateNightBean.java b/app/src/main/java/safeluck/drive/evaluation/bean/SimulateNightBean.java
index a688ef4..abfa37b 100644
--- a/app/src/main/java/safeluck/drive/evaluation/bean/SimulateNightBean.java
+++ b/app/src/main/java/safeluck/drive/evaluation/bean/SimulateNightBean.java
@@ -1,14 +1,12 @@
 package safeluck.drive.evaluation.bean;
 
+import java.util.ArrayList;
 import java.util.List;
 
-import safeluck.drive.evaluation.util.FileUtil;
-
 public class SimulateNightBean {
-
     /**
      * exam : 0
-     * question : [{"item":1,"tts":"鎵撳紑杞︾伅"},{"item":2,"tts":"閫氳繃浜鸿閬�"}]
+     * question : [{"item":100,"process":[],"solution":[-1],"tts":"涓嬮潰灏嗚繘琛屾ā鎷熷闂磋椹跺満鏅伅鍏変娇鐢ㄧ殑鑰冭瘯锛岃鎸夎闊虫寚浠ゅ湪5绉掑唴鍋氬嚭鐩稿簲鐨勭伅鍏夋搷浣�"},{"item":1,"process":[3],"solution":[1],"tts":"璇锋墦寮�鍓嶇収鐏�"},{"item":2,"process":[3],"solution":[1],"tts":"澶滈棿鍦ㄦ病鏈夎矾鐏紝鐓ф槑涓嶈壇鏉′欢涓嬭椹�"},{"item":7,"process":[3],"solution":[1],"tts":"澶滈棿鍦ㄩ亾璺笂鍙戠敓鏁呴殰锛屽Θ纰嶄氦閫氬張闅句互绉诲姩"},{"item":10,"process":[3],"solution":[1],"tts":"璺竟涓存椂鍋滆溅"},{"item":9,"process":[3],"solution":[1],"tts":"澶滈棿閫氳繃娌℃湁浜ら�氫俊鍙风伅鎺у埗鐨勮矾鍙�"},{"item":101,"process":[],"solution":[-1],"tts":"妯℃嫙澶滈棿鑰冭瘯瀹屾垚璇峰叧闂墍鏈夌伅鍏夛紝璇疯捣姝ョ户缁畬鎴愯�冭瘯"}]
      */
 
     private int exam;
@@ -32,18 +30,82 @@
 
     public static class QuestionBean {
         /**
-         * item : 1
-         * tts : 鎵撳紑杞︾伅
+         * item : 100
+         * process : []
+         * solution : [-1]
+         * tts : 涓嬮潰灏嗚繘琛屾ā鎷熷闂磋椹跺満鏅伅鍏変娇鐢ㄧ殑鑰冭瘯锛岃鎸夎闊虫寚浠ゅ湪5绉掑唴鍋氬嚭鐩稿簲鐨勭伅鍏夋搷浣�
          */
 
         private int item;
         private String tts;
+        private List<Integer> process;
+        private List<Integer> solution;
 
         public QuestionBean(int i, String s) {
-            this.item =i;
+                        this.item =i;
             this.tts = s;
+            if (i>=100){
+
+            }else{
+                if (process == null){
+                    this.process = new ArrayList<>();
+                }
+                this.process.add(-1);
+                if (solution == null){
+                    this.solution = new ArrayList<>();
+                }
+                this.solution.add(-1);
+            }
+
         }
 
+        public void parseSolutionAndProcess(String content){
+            solution.clear();
+            process.clear();
+            if (content.contains("+")){
+                String regx = "\\+";
+                    String[] strs = content.split(regx);
+                for (int i = 0; i < strs.length; i++) {
+                    if (strs[i].contains("澶х伅")){
+                        //1杩戝厜鐏�
+                        solution.add(1);
+                    }else if (strs[i].contains("灏忕伅")){
+                        //3绀哄粨鐏�
+                        solution.add(3);
+                    }else if (strs[i].contains("璀︾ず鐏�")){
+                        //7鍗遍櫓璀︾ず鐏�
+                        solution.add(7);
+                    }else if (strs[i].contains("闆剧伅")){
+                        //4闆剧伅
+                        solution.add(4);
+                    }else if (strs[i].contains("宸﹁浆鍚�")){
+                        //5宸﹁浆淇″彿
+                        solution.add(5);
+                    }else if (strs[i].contains("鍙宠浆鍚�")){
+                        //6鍙宠浆淇″彿
+                        solution.add(6);
+                    }
+                }
+
+            }else if (content.contains("鍙樻崲")){
+                process.add(8);
+                solution.add(1);
+            }else if (content.equalsIgnoreCase("寮�鍚繙鍏夌伅")){
+                solution.add(2);
+            }else if (content.equalsIgnoreCase("寮�鍚繎鍏夌伅")){
+                solution.add(1);
+            }else if (content.contains("杩溿�佽繎鍏夌伅")){
+                solution.add(1);
+                solution.add(2);
+            }else if (content.contains("娉ㄦ剰鏄繎鍏�")){
+                solution.add(1);
+            }else if (content.equalsIgnoreCase("寮�鍚嵄闄╄绀虹伅")){
+                solution.add(7);
+            }else if (content.equalsIgnoreCase("鍏堝紑宸﹁浆鍚戠伅锛屽悗鍙樻崲杩滆繎鍏夌伅")){
+                process.add(5);
+                solution.add(8);
+            }
+        }
         public int getItem() {
             return item;
         }
@@ -60,20 +122,92 @@
             this.tts = tts;
         }
 
-        @Override
-        public String toString() {
-            return "QuestionBean{" +
-                    "item=" + item +
-                    ", tts='" + tts + '\'' +
-                    '}';
+        public List<Integer> getProcess() {
+            return process;
+        }
+
+        public void setProcess(List<Integer> process) {
+            this.process = process;
+        }
+
+        public List<Integer> getSolution() {
+            return solution;
+        }
+
+        public void setSolution(List<Integer> solution) {
+            this.solution = solution;
         }
     }
 
-    @Override
-    public String toString() {
-        return "SimulateNightBean{" +
-                "exam=" + exam +
-                ", question=" + FileUtil.ListToString(question) +
-                '}';
-    }
+//    /**
+//     * exam : 0
+//     * question : [{"item":1,"tts":"鎵撳紑杞︾伅"},{"item":2,"tts":"閫氳繃浜鸿閬�"}]
+//     */
+//
+//    private int exam;
+//    private List<QuestionBean> question;
+//
+//    public int getExam() {
+//        return exam;
+//    }
+//
+//    public void setExam(int exam) {
+//        this.exam = exam;
+//    }
+//
+//    public List<QuestionBean> getQuestion() {
+//        return question;
+//    }
+//
+//    public void setQuestion(List<QuestionBean> question) {
+//        this.question = question;
+//    }
+//
+//    public static class QuestionBean {
+//        /**
+//         * item : 1
+//         * tts : 鎵撳紑杞︾伅
+//         */
+//
+//        private int item;
+//        private String tts;
+//
+//        public QuestionBean(int i, String s) {
+//            this.item =i;
+//            this.tts = s;
+//        }
+//
+//        public int getItem() {
+//            return item;
+//        }
+//
+//        public void setItem(int item) {
+//            this.item = item;
+//        }
+//
+//        public String getTts() {
+//            return tts;
+//        }
+//
+//        public void setTts(String tts) {
+//            this.tts = tts;
+//        }
+//
+//        @Override
+//        public String toString() {
+//            return "QuestionBean{" +
+//                    "item=" + item +
+//                    ", tts='" + tts + '\'' +
+//                    '}';
+//        }
+//    }
+//
+//    @Override
+//    public String toString() {
+//        return "SimulateNightBean{" +
+//                "exam=" + exam +
+//                ", question=" + FileUtil.ListToString(question) +
+//                '}';
+//    }
+
 }
diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/LightExamFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/LightExamFragment.java
index f5053dc..37fce5f 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/LightExamFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/LightExamFragment.java
@@ -55,11 +55,13 @@
 import safeluck.drive.evaluation.R;
 import safeluck.drive.evaluation.adapter.LightExamSelectAdapter;
 import safeluck.drive.evaluation.adapter.LightExamUseAdapter;
+import safeluck.drive.evaluation.app;
 import safeluck.drive.evaluation.bean.AnswerStatus;
 import safeluck.drive.evaluation.bean.Question2Answers;
 import safeluck.drive.evaluation.customview.MyDecoration;
 
 import safeluck.drive.evaluation.util.CThreadPoolExecutor;
+import safeluck.drive.evaluation.util.DataInitKt;
 
 /**
  * DriveJudge
@@ -294,7 +296,10 @@
                 OneTimeWorkRequest oneTimeWorkRequest = OneTimeWorkRequest.from(LightUseInitWorker.class);
                 WorkManager.getInstance(_mActivity).enqueue(oneTimeWorkRequest);
                 break;
-            case R.id.btn_sure:
+            case R.id.btn_light_sure:
+                CThreadPoolExecutor.runInBackground(()->{
+                    DataInitKt.sendExamLightsAndExamStatus(app.getAppContext());
+                });
                 break;
         }
     }
diff --git a/app/src/main/java/safeluck/drive/evaluation/util/DataInit.kt b/app/src/main/java/safeluck/drive/evaluation/util/DataInit.kt
index 0998d35..ea06495 100644
--- a/app/src/main/java/safeluck/drive/evaluation/util/DataInit.kt
+++ b/app/src/main/java/safeluck/drive/evaluation/util/DataInit.kt
@@ -23,6 +23,7 @@
 import safeluck.drive.evaluation.DB.signalConfigdb.SingalConfig
 import safeluck.drive.evaluation.app
 import safeluck.drive.evaluation.bean.*
+import safeluck.drive.evaluation.bean.SimulateNightBean.QuestionBean
 import safeluck.drive.evaluation.httpmodule.HttpCarRespBean
 import safeluck.drive.evaluation.httpmodule.HttpRequetBean
 import safeluck.drive.evaluation.httpmodule.HttpRoadMapRsp
@@ -78,19 +79,39 @@
     val examType = ExamPlatformData.getInstance().examType
     simulateNightBean.setExam(0)
 
-    val list = ExamPlatformData.getInstance().simulate_light_tips
+    tempQs.clear()
+    val list = WorkRoomDataBase.getWorkRoomDataBase(applicationContext).lightUseQuestionsDao.lightUseQuestionsNoLive()
+    Log.i("AYJiaKao",list.size.toString())
+    tempQs.add(QuestionBean(100, "涓嬮潰灏嗚繘琛屾ā鎷熷闂磋椹跺満鏅伅鍏変娇鐢ㄧ殑鑰冭瘯锛岃鎸夎闊虫寚浠ゅ湪5绉掑唴鍋氬嚭鐩稿簲鐨勭伅鍏夋搷浣�"))//鎻愮ず涓嬮潰灏嗚繘琛岀伅鍏夎�冭瘯
 
-    tempQs.add(list[list.size-2])//鎻愮ず涓嬮潰灏嗚繘琛岀伅鍏夎�冭瘯
-    tempQs.add(list[0])
-    val a = Utils.getRandomInts(4, 10)
-    for (i in a.indices) {
-        tempQs.add(list[a[i]])
+    if (list.size>5){
+        var questbean = QuestionBean(list[0].id,list[0].question)
+        questbean.parseSolutionAndProcess(list[0].answer)
+        tempQs.add(questbean)
+        val a = Utils.getRandomInts(4, list.size)
+        for (i in a.indices) {
+            var te = list[a[i]]
+            Log.i("AYJiaKao",te.toString())
+            var questbean = QuestionBean(te.id,te.question)
+            questbean.parseSolutionAndProcess(te.answer)
+            tempQs.add(questbean)
+
+        }
+    }else{
+        for (i in list.indices){
+
+        var questbean = QuestionBean(list[i].id,list[i].question)
+        questbean.parseSolutionAndProcess(list[i].answer)
+        tempQs.add(questbean)
     }
-    tempQs.add(list[list.size-1])//鎻愮ず鐏厜鑰冭瘯缁撴潫
+    }
+
+    tempQs.add(QuestionBean(101, "妯℃嫙澶滈棿鑰冭瘯瀹屾垚璇峰叧闂墍鏈夌伅鍏夛紝璇疯捣姝ョ户缁畬鎴愯�冭瘯"))//鎻愮ず鐏厜鑰冭瘯缁撴潫
     simulateNightBean.setQuestion(tempQs)
 
     MyLog.i("寮�濮嬪彂閫佺伅鍏�,鑰冭瘯椤瑰叡鏈�"+simulateNightBean.question.size)
-    AYSdk.getInstance().sendCmd(0x8012, gson.toJson(simulateNightBean))
+    MyLog.i("寮�濮嬪彂閫佺伅鍏�,gson="+gson.toJson(simulateNightBean))
+//    AYSdk.getInstance().sendCmd(0x8012, gson.toJson(simulateNightBean))
 
     //鍙戦�佽�冭瘯鐘舵��
     MyLog.i("鏌ュ埌鐨勮�冭瘯type=$examType")
diff --git a/app/src/main/res/layout/fragment_light_exam_list.xml b/app/src/main/res/layout/fragment_light_exam_list.xml
index d1c0f37..9874b67 100644
--- a/app/src/main/res/layout/fragment_light_exam_list.xml
+++ b/app/src/main/res/layout/fragment_light_exam_list.xml
@@ -72,7 +72,7 @@
                 android:layout_height="@dimen/ui_margin_50dp"
                 android:textColor="@android:color/white"
                 android:textSize="28sp"
-                android:text="鍙互鏇存崲鐨勯鐩�"/>
+                android:text="棰樼洰搴�"/>
             <androidx.recyclerview.widget.RecyclerView
                 android:layout_width="match_parent"
                 android:layout_height="match_parent"

--
Gitblit v1.8.0