|
|
|
@ -164,63 +164,49 @@ public class CreateSign extends AppCompatActivity {
|
|
|
|
|
* 设置点击事件
|
|
|
|
|
*/
|
|
|
|
|
private void setClickListener(){
|
|
|
|
|
tvCourseName.setOnClickListener(new View.OnClickListener() {
|
|
|
|
|
@Override
|
|
|
|
|
public void onClick(View v) {
|
|
|
|
|
Intent intent = new Intent(CreateSign.this, ChooseCourse.class);
|
|
|
|
|
intent.putExtras(getIntent().getExtras());
|
|
|
|
|
intentActivityResultLauncher.launch(intent);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
abIvTitle.setOnClickListener(new View.OnClickListener() {
|
|
|
|
|
@Override
|
|
|
|
|
public void onClick(View v) {
|
|
|
|
|
finish();
|
|
|
|
|
}
|
|
|
|
|
tvCourseName.setOnClickListener(v -> {
|
|
|
|
|
Intent intent = new Intent(CreateSign.this, ChooseCourse.class);
|
|
|
|
|
intent.putExtras(getIntent().getExtras());
|
|
|
|
|
intentActivityResultLauncher.launch(intent);
|
|
|
|
|
});
|
|
|
|
|
abIvTitle.setOnClickListener(v -> finish());
|
|
|
|
|
//点击添加图片
|
|
|
|
|
ivAddImg.setOnClickListener(new View.OnClickListener() {
|
|
|
|
|
@Override
|
|
|
|
|
public void onClick(View v) {
|
|
|
|
|
String signCode = Objects.requireNonNull(etCode.getText()).toString();
|
|
|
|
|
if (TextUtils.isEmpty(signCode)){
|
|
|
|
|
Toast.makeText(CreateSign.this, "请先输入签到码", Toast.LENGTH_SHORT).show();
|
|
|
|
|
}else{
|
|
|
|
|
Bitmap codeBitmap = QRCodeUtil.createQRCode(signCode,500,500,null);
|
|
|
|
|
ivAddImg.setImageBitmap(codeBitmap);
|
|
|
|
|
}
|
|
|
|
|
ivAddImg.setOnClickListener(v -> {
|
|
|
|
|
String signCode = Objects.requireNonNull(etCode.getText()).toString();
|
|
|
|
|
if (TextUtils.isEmpty(signCode)){
|
|
|
|
|
Toast.makeText(CreateSign.this, "请先输入签到码", Toast.LENGTH_SHORT).show();
|
|
|
|
|
}else{
|
|
|
|
|
Bitmap codeBitmap = QRCodeUtil.createQRCode(signCode,500,500,null);
|
|
|
|
|
ivAddImg.setImageBitmap(codeBitmap);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
//设置回调方法,进行获取选择的时间,并将其刷新到界面
|
|
|
|
|
startTimePicker.addOnPositiveButtonClickListener(new View.OnClickListener() {
|
|
|
|
|
@Override
|
|
|
|
|
public void onClick(View v) {
|
|
|
|
|
int startHour = startTimePicker.getHour();
|
|
|
|
|
int startMin = startTimePicker.getMinute();
|
|
|
|
|
String startTime = String.valueOf(currYear) + "-" +
|
|
|
|
|
String.valueOf(currMonth) + "-" +
|
|
|
|
|
String.valueOf(currDay) + " " +
|
|
|
|
|
String.valueOf(startHour) + ":" +
|
|
|
|
|
String.valueOf(startMin) + ":" + "00";
|
|
|
|
|
try {
|
|
|
|
|
startTimeStamp = Long.parseLong(CommonUtils.dateToStamp(startTime, "yyyy-MM-dd hh:mm:ss"));
|
|
|
|
|
} catch (ParseException e) {
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}
|
|
|
|
|
etStartTime.setText(startTime);
|
|
|
|
|
hasChooseStartTime = true;
|
|
|
|
|
startTimePicker.addOnPositiveButtonClickListener(v -> {
|
|
|
|
|
int startHour = startTimePicker.getHour();
|
|
|
|
|
int startMin = startTimePicker.getMinute();
|
|
|
|
|
String startTime = currYear + "-" +
|
|
|
|
|
currMonth + "-" +
|
|
|
|
|
currDay + " " +
|
|
|
|
|
startHour + ":" +
|
|
|
|
|
startMin + ":" + "00";
|
|
|
|
|
try {
|
|
|
|
|
startTimeStamp = Long.parseLong(CommonUtils.dateToStamp(startTime, "yyyy-MM-dd hh:mm:ss"));
|
|
|
|
|
} catch (ParseException e) {
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}
|
|
|
|
|
etStartTime.setText(startTime);
|
|
|
|
|
hasChooseStartTime = true;
|
|
|
|
|
});
|
|
|
|
|
endTimePicker.addOnPositiveButtonClickListener(new View.OnClickListener() {
|
|
|
|
|
@Override
|
|
|
|
|
public void onClick(View v) {
|
|
|
|
|
int endHour = endTimePicker.getHour();
|
|
|
|
|
int endMin = endTimePicker.getMinute();
|
|
|
|
|
String endTime = String.valueOf(currYear) + "-" +
|
|
|
|
|
String.valueOf(currMonth) + "-" +
|
|
|
|
|
String.valueOf(currDay) + " " +
|
|
|
|
|
String.valueOf(endHour) + ":" +
|
|
|
|
|
String.valueOf(endMin) + ":" + "00";
|
|
|
|
|
String endTime = currYear + "-" +
|
|
|
|
|
currMonth + "-" +
|
|
|
|
|
currDay + " " +
|
|
|
|
|
endHour + ":" +
|
|
|
|
|
endMin + ":" + "00";
|
|
|
|
|
try {
|
|
|
|
|
endTimeStamp = Long.parseLong(CommonUtils.dateToStamp(endTime, "yyyy-MM-dd hh:mm:ss"));
|
|
|
|
|
} catch (ParseException e) {
|
|
|
|
@ -231,109 +217,97 @@ public class CreateSign extends AppCompatActivity {
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
//课程开始时间
|
|
|
|
|
etStartTime.setOnClickListener(new View.OnClickListener() {
|
|
|
|
|
@Override
|
|
|
|
|
public void onClick(View v) {
|
|
|
|
|
if(!startTimePicker.isAdded()){
|
|
|
|
|
startTimePicker.show(getSupportFragmentManager(), "Hello");
|
|
|
|
|
}
|
|
|
|
|
etStartTime.setOnClickListener(v -> {
|
|
|
|
|
if(!startTimePicker.isAdded()){
|
|
|
|
|
startTimePicker.show(getSupportFragmentManager(), "Hello");
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
//课程结束时间
|
|
|
|
|
etEndTime.setOnClickListener(new View.OnClickListener() {
|
|
|
|
|
@Override
|
|
|
|
|
public void onClick(View v) {
|
|
|
|
|
if(!endTimePicker.isAdded()){
|
|
|
|
|
endTimePicker.show(getSupportFragmentManager(), "Hello");
|
|
|
|
|
}
|
|
|
|
|
etEndTime.setOnClickListener(v -> {
|
|
|
|
|
if(!endTimePicker.isAdded()){
|
|
|
|
|
endTimePicker.show(getSupportFragmentManager(), "Hello");
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
//定位
|
|
|
|
|
etLocation.setOnClickListener(new View.OnClickListener() {
|
|
|
|
|
@Override
|
|
|
|
|
public void onClick(View v) {
|
|
|
|
|
Intent intent = new Intent(CreateSign.this, MapActivity.class);
|
|
|
|
|
intent.putExtras(getIntent().getExtras());
|
|
|
|
|
intentActivityResultLauncher.launch(intent);
|
|
|
|
|
etLocation.setOnClickListener(v -> {
|
|
|
|
|
Intent intent = new Intent(CreateSign.this, MapActivity.class);
|
|
|
|
|
intent.putExtras(getIntent().getExtras());
|
|
|
|
|
intentActivityResultLauncher.launch(intent);
|
|
|
|
|
|
|
|
|
|
// etLocation.setText("定位");
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
//保存按钮
|
|
|
|
|
abBtSave.setOnClickListener(new View.OnClickListener() {
|
|
|
|
|
@Override
|
|
|
|
|
public void onClick(View v) {
|
|
|
|
|
bundle = getIntent().getExtras();
|
|
|
|
|
String courseName = bundle.getString(ModelFieldConstants.COURSE_NAME);
|
|
|
|
|
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 userId = bundle.getLong(ModelFieldConstants.ID);
|
|
|
|
|
if(!TextUtils.isEmpty(courseName)){
|
|
|
|
|
if(!TextUtils.isEmpty(stuAmountStr)){
|
|
|
|
|
if(hasChooseStartTime && hasChooseEndTime){
|
|
|
|
|
if(startTimeStamp <= endTimeStamp){
|
|
|
|
|
if(!TextUtils.isEmpty(location)){
|
|
|
|
|
if(!TextUtils.isEmpty(signCodeStr)){
|
|
|
|
|
abBtSave.setOnClickListener(v -> {
|
|
|
|
|
bundle = getIntent().getExtras();
|
|
|
|
|
String courseName = bundle.getString(ModelFieldConstants.COURSE_NAME);
|
|
|
|
|
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 userId = bundle.getLong(ModelFieldConstants.ID);
|
|
|
|
|
if(!TextUtils.isEmpty(courseName)){
|
|
|
|
|
if(!TextUtils.isEmpty(stuAmountStr)){
|
|
|
|
|
if(hasChooseStartTime && hasChooseEndTime){
|
|
|
|
|
if(startTimeStamp <= endTimeStamp){
|
|
|
|
|
if(!TextUtils.isEmpty(location)){
|
|
|
|
|
if(!TextUtils.isEmpty(signCodeStr)){
|
|
|
|
|
try{
|
|
|
|
|
Long stuAmount = Long.parseLong(stuAmountStr);
|
|
|
|
|
try{
|
|
|
|
|
Long stuAmount = Long.parseLong(stuAmountStr);
|
|
|
|
|
try{
|
|
|
|
|
Long signCode = Long.parseLong(signCodeStr);
|
|
|
|
|
CourseCreateSignRequest courseCreateSignRequest = new CourseCreateSignRequest();
|
|
|
|
|
courseCreateSignRequest.setCourseName(courseName);
|
|
|
|
|
courseCreateSignRequest.setTotal(stuAmount);
|
|
|
|
|
courseCreateSignRequest.setBeginTime(startTimeStamp);
|
|
|
|
|
courseCreateSignRequest.setEndTime(endTimeStamp);
|
|
|
|
|
courseCreateSignRequest.setCourseAddr(location);
|
|
|
|
|
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;
|
|
|
|
|
Long signCode = Long.parseLong(signCodeStr);
|
|
|
|
|
CourseCreateSignRequest courseCreateSignRequest = new CourseCreateSignRequest();
|
|
|
|
|
courseCreateSignRequest.setCourseName(courseName);
|
|
|
|
|
courseCreateSignRequest.setTotal(stuAmount);
|
|
|
|
|
courseCreateSignRequest.setBeginTime(startTimeStamp);
|
|
|
|
|
courseCreateSignRequest.setEndTime(endTimeStamp);
|
|
|
|
|
courseCreateSignRequest.setCourseAddr(location);
|
|
|
|
|
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();
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
createSign(courseCreateSignRequest);
|
|
|
|
|
}catch (NumberFormatException numberFormatException){
|
|
|
|
|
Toast.makeText(CreateSign.this, "请输入数字作为签到码", Toast.LENGTH_SHORT).show();
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
createSign(courseCreateSignRequest);
|
|
|
|
|
}catch (NumberFormatException numberFormatException){
|
|
|
|
|
Toast.makeText(CreateSign.this, "请输入正确的签到人数", Toast.LENGTH_SHORT).show();
|
|
|
|
|
Toast.makeText(CreateSign.this, "请输入数字作为签到码", Toast.LENGTH_SHORT).show();
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
Toast.makeText(CreateSign.this, "请先输入签到口令", Toast.LENGTH_SHORT).show();
|
|
|
|
|
}catch (NumberFormatException numberFormatException){
|
|
|
|
|
Toast.makeText(CreateSign.this, "请输入正确的签到人数", Toast.LENGTH_SHORT).show();
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
Toast.makeText(CreateSign.this, "请先选择签到地点", Toast.LENGTH_SHORT).show();
|
|
|
|
|
Toast.makeText(CreateSign.this, "请先输入签到口令", Toast.LENGTH_SHORT).show();
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
Toast.makeText(CreateSign.this, "时间设置错误", Toast.LENGTH_SHORT).show();
|
|
|
|
|
Toast.makeText(CreateSign.this, "请先选择签到地点", Toast.LENGTH_SHORT).show();
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
Toast.makeText(CreateSign.this, "请先选择开始结束时间", Toast.LENGTH_SHORT).show();
|
|
|
|
|
Toast.makeText(CreateSign.this, "时间设置错误", Toast.LENGTH_SHORT).show();
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
Toast.makeText(CreateSign.this, "请先输入待签到人数", Toast.LENGTH_SHORT).show();
|
|
|
|
|
Toast.makeText(CreateSign.this, "请先选择开始结束时间", Toast.LENGTH_SHORT).show();
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
Toast.makeText(CreateSign.this, "请先选择课程", Toast.LENGTH_SHORT).show();
|
|
|
|
|
Toast.makeText(CreateSign.this, "请先输入待签到人数", Toast.LENGTH_SHORT).show();
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
Toast.makeText(CreateSign.this, "请先选择课程", Toast.LENGTH_SHORT).show();
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|