From d143081efc5a808733381c70795b0b549ce7d3a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=91=97=20=E5=91=97?= <2026952257@qq.com> Date: Fri, 17 Jun 2022 16:50:37 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=89=AB=E7=A0=81=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=EF=BC=8C=E5=AD=A6=E7=94=9F=E7=AB=AF=E8=83=BD=E5=A4=9F?= =?UTF-8?q?=E6=89=AB=E7=A0=81=E7=AD=BE=E5=88=B0=EF=BC=9B=E6=95=99=E5=B8=88?= =?UTF-8?q?=E7=AB=AF=E5=9C=A8=E5=8F=91=E5=B8=83=E7=AD=BE=E5=88=B0=E4=B9=8B?= =?UTF-8?q?=E5=90=8E=EF=BC=8C=E8=B7=B3=E8=BD=AC=E5=88=B0=E6=9F=A5=E7=9C=8B?= =?UTF-8?q?=E7=AD=BE=E5=88=B0=E7=95=8C=E9=9D=A2=EF=BC=8C=E8=83=BD=E5=A4=9F?= =?UTF-8?q?=E5=B1=95=E7=A4=BA=E4=BA=8C=E7=BB=B4=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 3 - .../activityStuClassList/CourseSignIn.java | 4 - .../activityTeaHome/CheckCourseSign.java | 15 ++++ .../activityTeaHome/CreateSign.java | 81 +++++++++---------- .../model/constants/ModelFieldConstants.java | 2 + .../request/CourseCreateSignRequest.java | 4 +- .../layout/activity_tea_check_course_sign.xml | 15 +++- 7 files changed, 74 insertions(+), 50 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 20323ca..7acef0f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -86,7 +86,4 @@ dependencies { implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0" - - - } \ No newline at end of file diff --git a/app/src/main/java/com/example/stlink/activitys/fragmentChild/activityStuClassList/CourseSignIn.java b/app/src/main/java/com/example/stlink/activitys/fragmentChild/activityStuClassList/CourseSignIn.java index 0e4af34..88d25d1 100644 --- a/app/src/main/java/com/example/stlink/activitys/fragmentChild/activityStuClassList/CourseSignIn.java +++ b/app/src/main/java/com/example/stlink/activitys/fragmentChild/activityStuClassList/CourseSignIn.java @@ -192,10 +192,6 @@ public class CourseSignIn extends AppCompatActivity { .setNeutralButton("扫码", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { - // TODO 扫码签到 -// Intent intent = new Intent(CourseSignIn.this, ScanQRCodeActivity.class); -// intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); -// startActivity(intent); // 创建IntentIntegrator对象 IntentIntegrator intentIntegrator = new IntentIntegrator(CourseSignIn.this) .setBeepEnabled(true) //扫描提示音 diff --git a/app/src/main/java/com/example/stlink/activitys/fragmentChild/activityTeaHome/CheckCourseSign.java b/app/src/main/java/com/example/stlink/activitys/fragmentChild/activityTeaHome/CheckCourseSign.java index 9863289..c29616b 100644 --- a/app/src/main/java/com/example/stlink/activitys/fragmentChild/activityTeaHome/CheckCourseSign.java +++ b/app/src/main/java/com/example/stlink/activitys/fragmentChild/activityTeaHome/CheckCourseSign.java @@ -1,5 +1,6 @@ package com.example.stlink.activitys.fragmentChild.activityTeaHome; +import android.graphics.Bitmap; import android.os.Bundle; import android.os.Handler; import android.os.Message; @@ -7,6 +8,7 @@ import android.text.TextUtils; import android.view.View; import android.widget.ImageView; import android.widget.TextView; +import android.widget.Toast; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -19,9 +21,11 @@ import com.example.stlink.fragments.LeaveListFragment; import com.example.stlink.fragments.SignListFragment; import com.example.stlink.model.constants.ModelFieldConstants; import com.example.stlink.model.constants.UrlConstants; +import com.example.stlink.model.request.CourseCreateSignRequest; import com.example.stlink.model.response.BaseResponse; import com.example.stlink.model.response.data.CourseSignMsg; import com.example.stlink.utils.CommonUtils; +import com.example.stlink.utils.QRCodeUtil; import com.example.stlink.utils.activityUtil.CheckCourseSignUtil; import com.example.stlink.utils.httpUtils.GetUrlParamHttpUtils; import com.google.gson.Gson; @@ -30,6 +34,7 @@ import com.google.gson.internal.LinkedTreeMap; import java.util.ArrayList; import java.util.List; +import java.util.Objects; public class CheckCourseSign extends AppCompatActivity { @@ -40,6 +45,7 @@ public class CheckCourseSign extends AppCompatActivity { private TextView tvCourseStuAmountMsg; private TextView tvCourseStuArriveAmountMsg; private TextView tvCourseStuLeaveAmountMsg; + private ImageView ivCode; private CheckCourseSignUtil checkCourseSignUtil; @@ -61,6 +67,7 @@ public class CheckCourseSign extends AppCompatActivity { private void initView(){ CommonUtils.changeStatusBar(CheckCourseSign.this); + ivCode = findViewById(R.id.iv_code); abIvTitle = findViewById(R.id.ab_iv_title); aTvCourseName = findViewById(R.id.ab_tv_course_name); tvCourseNameMsg = findViewById(R.id.tv_course_name_msg); @@ -99,6 +106,14 @@ public class CheckCourseSign extends AppCompatActivity { if(!TextUtils.isEmpty(teaName)){ tvCourseTeaNameMsg.setText(teaName); } + Object obj = bundle.getSerializable(ModelFieldConstants.COURSE_CREATE_SIGN_REQUEST); + if(obj instanceof CourseCreateSignRequest ){ + CourseCreateSignRequest courseCreateSignRequest = (CourseCreateSignRequest) obj; + String signCode = String.valueOf(courseCreateSignRequest.getSignCode()); + Bitmap codeBitmap = QRCodeUtil.createQRCode(signCode,500,500,null); + ivCode.setImageBitmap(codeBitmap); + } + } private void setClickListener(){ diff --git a/app/src/main/java/com/example/stlink/activitys/fragmentChild/activityTeaHome/CreateSign.java b/app/src/main/java/com/example/stlink/activitys/fragmentChild/activityTeaHome/CreateSign.java index fbc127b..f02f924 100644 --- a/app/src/main/java/com/example/stlink/activitys/fragmentChild/activityTeaHome/CreateSign.java +++ b/app/src/main/java/com/example/stlink/activitys/fragmentChild/activityTeaHome/CreateSign.java @@ -243,7 +243,7 @@ public class CreateSign extends AppCompatActivity { String stuAmountStr = Objects.requireNonNull(etStuAmount.getText()).toString(); String location = Objects.requireNonNull(etLocation.getText()).toString(); String signCodeStr = Objects.requireNonNull(etCode.getText()).toString(); - Long courseId = bundle.getLong(ModelFieldConstants.COURSE_ID); + long courseId = bundle.getLong(ModelFieldConstants.COURSE_ID); Long userId = bundle.getLong(ModelFieldConstants.ID); if(!TextUtils.isEmpty(courseName)){ if(!TextUtils.isEmpty(stuAmountStr)){ @@ -264,25 +264,23 @@ public class CreateSign extends AppCompatActivity { courseCreateSignRequest.setCourseId(courseId); courseCreateSignRequest.setUserId(userId); courseCreateSignRequest.setSignCode(signCode); - handler = new Handler(new Handler.Callback() { - @Override - public boolean handleMessage(@NonNull Message msg) { - if(msg.arg1 == 200){ - String error = (String) msg.obj; - Toast.makeText(CreateSign.this, error, Toast.LENGTH_SHORT).show(); - }else if(msg.arg1 == 100){ - Toast.makeText(CreateSign.this, "创建签到成功", Toast.LENGTH_SHORT).show(); - //创建成功后直接结束当前活动,并且跳到查看签到状态 - Intent intent = new Intent(); - bundle = getIntent().getExtras(); - bundle.putLong(ModelFieldConstants.NOW_SIGN_COURSE_ID, courseId); - bundle.putString(ModelFieldConstants.NOW_SIGN_COURSE_NAME, courseName); - intent.putExtras(bundle); - setResult(100,intent); - finish(); - } - return false; + handler = new Handler(msg -> { + if(msg.arg1 == 200){ + String error = (String) msg.obj; + Toast.makeText(CreateSign.this, error, Toast.LENGTH_SHORT).show(); + }else if(msg.arg1 == 100){ + Toast.makeText(CreateSign.this, "创建签到成功", Toast.LENGTH_SHORT).show(); + //创建成功后直接结束当前活动,并且跳到查看签到状态 + Intent intent = new Intent(); + bundle = getIntent().getExtras(); + bundle.putLong(ModelFieldConstants.NOW_SIGN_COURSE_ID, courseId); + bundle.putString(ModelFieldConstants.NOW_SIGN_COURSE_NAME, courseName); + bundle.putSerializable(ModelFieldConstants.COURSE_CREATE_SIGN_REQUEST , courseCreateSignRequest); + intent.putExtras(bundle); + setResult(100,intent); + finish(); } + return false; }); createSign(courseCreateSignRequest); }catch (NumberFormatException numberFormatException){ @@ -313,30 +311,31 @@ public class CreateSign extends AppCompatActivity { } + /** + * 创建签到 + * @param courseCreateSignRequest 封装好的请求类 + */ private void createSign(CourseCreateSignRequest courseCreateSignRequest){ - new Thread(new Runnable() { - @Override - public void run() { - System.out.println( "courseCreateSignRequest : " + courseCreateSignRequest.toString() + ".............................."); - String json = JSON.toJSONString(courseCreateSignRequest); - String url = UrlConstants.TEACHER_INITIATE; + new Thread(() -> { + System.out.println( "courseCreateSignRequest : " + courseCreateSignRequest.toString() + ".............................."); + String json = JSON.toJSONString(courseCreateSignRequest); + String url = UrlConstants.TEACHER_INITIATE; - new PostBodyParamHttpUtils() { - @Override - public void nextMethod(BaseResponse baseResponse) { - Message message = new Message(); - message.arg1 = 100; - handler.sendMessage(message); - } - @Override - public void failedMethod(BaseResponse baseResponse) { - Message message = new Message(); - message.arg1 = 200; - message.obj = baseResponse.getMsg(); - handler.sendMessage(message); - } - }.postConnect(url, json); - } + new PostBodyParamHttpUtils() { + @Override + public void nextMethod(BaseResponse baseResponse) { + Message message = new Message(); + message.arg1 = 100; + handler.sendMessage(message); + } + @Override + public void failedMethod(BaseResponse baseResponse) { + Message message = new Message(); + message.arg1 = 200; + message.obj = baseResponse.getMsg(); + handler.sendMessage(message); + } + }.postConnect(url, json); }).start(); } } diff --git a/app/src/main/java/com/example/stlink/model/constants/ModelFieldConstants.java b/app/src/main/java/com/example/stlink/model/constants/ModelFieldConstants.java index e3f2431..2df0733 100644 --- a/app/src/main/java/com/example/stlink/model/constants/ModelFieldConstants.java +++ b/app/src/main/java/com/example/stlink/model/constants/ModelFieldConstants.java @@ -76,6 +76,8 @@ public class ModelFieldConstants { public static final String COURSE_SIGN = "courseSign"; //地点 public static final String LOCATION = "location"; + //签到请求封装类 + public static final String COURSE_CREATE_SIGN_REQUEST = "courseCreateSignRequest"; /*==================================================================================================*/ diff --git a/app/src/main/java/com/example/stlink/model/request/CourseCreateSignRequest.java b/app/src/main/java/com/example/stlink/model/request/CourseCreateSignRequest.java index ee5c8ba..0543d02 100644 --- a/app/src/main/java/com/example/stlink/model/request/CourseCreateSignRequest.java +++ b/app/src/main/java/com/example/stlink/model/request/CourseCreateSignRequest.java @@ -1,9 +1,11 @@ package com.example.stlink.model.request; +import java.io.Serializable; + /** * 创建课程签到请求类 */ -public class CourseCreateSignRequest { +public class CourseCreateSignRequest implements Serializable { /** * 签到开始时间(时间戳,精确到毫秒) diff --git a/app/src/main/res/layout/activity_tea_check_course_sign.xml b/app/src/main/res/layout/activity_tea_check_course_sign.xml index 6e3f964..a371829 100644 --- a/app/src/main/res/layout/activity_tea_check_course_sign.xml +++ b/app/src/main/res/layout/activity_tea_check_course_sign.xml @@ -40,10 +40,12 @@ + + +