Commit 939d0202ac25521ddcd359d77fecb3b02172a976
1 parent
b42c3ab0
畅游通标准4.0:新增动态二维码解析
Showing
6 changed files
with
108 additions
and
12 deletions
build.gradle
| @@ -7,9 +7,9 @@ buildscript { | @@ -7,9 +7,9 @@ buildscript { | ||
| 7 | mavenCentral() | 7 | mavenCentral() |
| 8 | jcenter() | 8 | jcenter() |
| 9 | google() | 9 | google() |
| 10 | - maven { url "https://jitpack.io"} | ||
| 11 | - maven { url "https://maven.aliyun.com/repository/google"} | ||
| 12 | - maven { url "https://maven.aliyun.com/repository/public"} | 10 | + maven { url "https://jitpack.io" } |
| 11 | + maven { url "https://maven.aliyun.com/repository/google" } | ||
| 12 | + maven { url "https://maven.aliyun.com/repository/public" } | ||
| 13 | // maven { url "https://maven.aliyun.com/repository/releases"} | 13 | // maven { url "https://maven.aliyun.com/repository/releases"} |
| 14 | // maven { url "https://maven.aliyun.com/repository/central"} | 14 | // maven { url "https://maven.aliyun.com/repository/central"} |
| 15 | // maven { url "https://maven.aliyun.com/repository/gradle-plugin"} | 15 | // maven { url "https://maven.aliyun.com/repository/gradle-plugin"} |
| @@ -52,6 +52,7 @@ dependencies { | @@ -52,6 +52,7 @@ dependencies { | ||
| 52 | implementation files('libs\\jsch-0.1.54.jar') | 52 | implementation files('libs\\jsch-0.1.54.jar') |
| 53 | implementation 'org.jetbrains:annotations-java5:15.0' | 53 | implementation 'org.jetbrains:annotations-java5:15.0' |
| 54 | implementation files('libs\\zxingcore-2.3.0.jar') | 54 | implementation files('libs\\zxingcore-2.3.0.jar') |
| 55 | + implementation files('libs\\cyt-common-dynamic-code-3.6.4.jar') | ||
| 55 | compileOnly files('external_libs/classes_2.1.11_20160907.jar') | 56 | compileOnly files('external_libs/classes_2.1.11_20160907.jar') |
| 56 | compileOnly files('external_libs/bw_odm_20160526.jar') | 57 | compileOnly files('external_libs/bw_odm_20160526.jar') |
| 57 | implementation files('libs/bw_pos_sdk2.0.18.jar') | 58 | implementation files('libs/bw_pos_sdk2.0.18.jar') |
| @@ -95,6 +96,11 @@ android { | @@ -95,6 +96,11 @@ android { | ||
| 95 | } | 96 | } |
| 96 | } | 97 | } |
| 97 | 98 | ||
| 99 | + compileOptions { | ||
| 100 | + sourceCompatibility JavaVersion.VERSION_1_8 | ||
| 101 | + targetCompatibility JavaVersion.VERSION_1_8 | ||
| 102 | + } | ||
| 103 | + | ||
| 98 | //在apk文件后边生成版本号信息 | 104 | //在apk文件后边生成版本号信息 |
| 99 | android.applicationVariants.all { | 105 | android.applicationVariants.all { |
| 100 | variant -> | 106 | variant -> |
| @@ -131,7 +137,7 @@ android { | @@ -131,7 +137,7 @@ android { | ||
| 131 | defaultConfig { | 137 | defaultConfig { |
| 132 | minSdkVersion 19 | 138 | minSdkVersion 19 |
| 133 | targetSdkVersion 30 | 139 | targetSdkVersion 30 |
| 134 | - vectorDrawables.useSupportLibrary =true | 140 | + vectorDrawables.useSupportLibrary = true |
| 135 | 141 | ||
| 136 | ndk { | 142 | ndk { |
| 137 | abiFilters "armeabi", "armeabi-v7a"//可以适当补填其他 | 143 | abiFilters "armeabi", "armeabi-v7a"//可以适当补填其他 |
| @@ -165,7 +171,7 @@ repositories { | @@ -165,7 +171,7 @@ repositories { | ||
| 165 | mavenCentral() | 171 | mavenCentral() |
| 166 | jcenter() | 172 | jcenter() |
| 167 | google() | 173 | google() |
| 168 | - maven { url "https://jitpack.io"} | ||
| 169 | - maven { url "https://maven.aliyun.com/repository/google"} | ||
| 170 | - maven { url "https://maven.aliyun.com/repository/public"} | 174 | + maven { url "https://jitpack.io" } |
| 175 | + maven { url "https://maven.aliyun.com/repository/google" } | ||
| 176 | + maven { url "https://maven.aliyun.com/repository/public" } | ||
| 171 | } | 177 | } |
| 172 | \ No newline at end of file | 178 | \ No newline at end of file |
libs/cyt-common-dynamic-code-3.6.4.jar
0 → 100644
No preview for this file type
src/com/ectrip/cyt/ui/NewHandleScanerActivity.java
| @@ -8,6 +8,7 @@ import java.io.OutputStream; | @@ -8,6 +8,7 @@ import java.io.OutputStream; | ||
| 8 | import java.io.UnsupportedEncodingException; | 8 | import java.io.UnsupportedEncodingException; |
| 9 | import java.security.InvalidParameterException; | 9 | import java.security.InvalidParameterException; |
| 10 | import java.util.ArrayList; | 10 | import java.util.ArrayList; |
| 11 | +import java.util.Date; | ||
| 11 | import java.util.concurrent.atomic.AtomicBoolean; | 12 | import java.util.concurrent.atomic.AtomicBoolean; |
| 12 | 13 | ||
| 13 | import android.app.AlertDialog; | 14 | import android.app.AlertDialog; |
| @@ -23,6 +24,9 @@ import android.widget.Toast; | @@ -23,6 +24,9 @@ import android.widget.Toast; | ||
| 23 | 24 | ||
| 24 | import android_serialport_api.SerialPortNewHandset; | 25 | import android_serialport_api.SerialPortNewHandset; |
| 25 | 26 | ||
| 27 | +import com.ectrip.common.dynamic.code.core.DynamicVerifyCodeTool; | ||
| 28 | +import com.ectrip.common.dynamic.code.exception.DynamicVerifyCodeException; | ||
| 29 | +import com.ectrip.common.dynamic.code.model.DynamicVerifyCodeDecodeResult; | ||
| 26 | import com.ectrip.cyt.bean.ConfigBean; | 30 | import com.ectrip.cyt.bean.ConfigBean; |
| 27 | import com.ectrip.cyt.config.DevicTool; | 31 | import com.ectrip.cyt.config.DevicTool; |
| 28 | import com.ectrip.cyt.config.MyApp; | 32 | import com.ectrip.cyt.config.MyApp; |
| @@ -159,7 +163,7 @@ public class NewHandleScanerActivity extends BaseActivity { | @@ -159,7 +163,7 @@ public class NewHandleScanerActivity extends BaseActivity { | ||
| 159 | } else { | 163 | } else { |
| 160 | try { | 164 | try { |
| 161 | if (result.startsWith("CYT_")) { | 165 | if (result.startsWith("CYT_")) { |
| 162 | - LogUtil.i(TAG,"result = " + result); | 166 | + LogUtil.i(TAG, "result = " + result); |
| 163 | typeScan = 0; | 167 | typeScan = 0; |
| 164 | if (result.contains(",")) { | 168 | if (result.contains(",")) { |
| 165 | result = result.substring(result.indexOf("_") + 1, result.indexOf(",")); | 169 | result = result.substring(result.indexOf("_") + 1, result.indexOf(",")); |
| @@ -186,6 +190,31 @@ public class NewHandleScanerActivity extends BaseActivity { | @@ -186,6 +190,31 @@ public class NewHandleScanerActivity extends BaseActivity { | ||
| 186 | } else if ((result.startsWith("TY_") || (result.startsWith("PMS_")))) { | 190 | } else if ((result.startsWith("TY_") || (result.startsWith("PMS_")))) { |
| 187 | typeScan = 1; | 191 | typeScan = 1; |
| 188 | result = result; | 192 | result = result; |
| 193 | + } else if (result.startsWith("OCP_")) { | ||
| 194 | + typeScan = 0; | ||
| 195 | + result = result; | ||
| 196 | + } else if (result.startsWith("DYV_")) { | ||
| 197 | + try { | ||
| 198 | + DynamicVerifyCodeDecodeResult decodeResult = DynamicVerifyCodeTool.decodeDynamicCode(result); | ||
| 199 | + boolean expired = decodeResult.getExpired(); | ||
| 200 | + String staticCode = decodeResult.getStaticCode(); | ||
| 201 | + Date expireTime = decodeResult.getExpireTime(); | ||
| 202 | + LogUtil.d(TAG, "expired = " + expired); | ||
| 203 | + LogUtil.d(TAG, "staticCode = " + staticCode); | ||
| 204 | + LogUtil.d(TAG, "expireTime = " + expireTime); | ||
| 205 | + if (!expired) { | ||
| 206 | + typeScan = 1; | ||
| 207 | + result = staticCode; | ||
| 208 | + } else { | ||
| 209 | + typeScan = 2; | ||
| 210 | + result = "动态二维码已过有效期"; | ||
| 211 | + } | ||
| 212 | + } catch (DynamicVerifyCodeException e) { | ||
| 213 | + typeScan = 2; | ||
| 214 | + LogUtil.d(TAG, "动态核销码异常:" + e.getMessage()); | ||
| 215 | + result = e.getMessage(); | ||
| 216 | + e.printStackTrace(); | ||
| 217 | + } | ||
| 189 | } else { | 218 | } else { |
| 190 | typeScan = 1; | 219 | typeScan = 1; |
| 191 | result = result; | 220 | result = result; |
src/com/ectrip/cyt/ui/PhomeScanerOrderActivity.java
| @@ -2,6 +2,7 @@ package com.ectrip.cyt.ui; | @@ -2,6 +2,7 @@ package com.ectrip.cyt.ui; | ||
| 2 | 2 | ||
| 3 | import java.io.IOException; | 3 | import java.io.IOException; |
| 4 | import java.util.ArrayList; | 4 | import java.util.ArrayList; |
| 5 | +import java.util.Date; | ||
| 5 | import java.util.Vector; | 6 | import java.util.Vector; |
| 6 | 7 | ||
| 7 | import android.content.Intent; | 8 | import android.content.Intent; |
| @@ -22,6 +23,9 @@ import android.view.WindowManager; | @@ -22,6 +23,9 @@ import android.view.WindowManager; | ||
| 22 | import android.widget.TextView; | 23 | import android.widget.TextView; |
| 23 | import android.widget.Toast; | 24 | import android.widget.Toast; |
| 24 | 25 | ||
| 26 | +import com.ectrip.common.dynamic.code.core.DynamicVerifyCodeTool; | ||
| 27 | +import com.ectrip.common.dynamic.code.exception.DynamicVerifyCodeException; | ||
| 28 | +import com.ectrip.common.dynamic.code.model.DynamicVerifyCodeDecodeResult; | ||
| 25 | import com.ectrip.cyt.bean.ConfigBean; | 29 | import com.ectrip.cyt.bean.ConfigBean; |
| 26 | import com.ectrip.cyt.config.DevicTool; | 30 | import com.ectrip.cyt.config.DevicTool; |
| 27 | import com.ectrip.cyt.constant.constant; | 31 | import com.ectrip.cyt.constant.constant; |
| @@ -174,6 +178,28 @@ public class PhomeScanerOrderActivity extends BaseActivity implements Callback { | @@ -174,6 +178,28 @@ public class PhomeScanerOrderActivity extends BaseActivity implements Callback { | ||
| 174 | } else if (resultString.startsWith("OCP_")) { | 178 | } else if (resultString.startsWith("OCP_")) { |
| 175 | typeScan = 0; | 179 | typeScan = 0; |
| 176 | resultString = resultString; | 180 | resultString = resultString; |
| 181 | + } else if (resultString.startsWith("DYV_")) { | ||
| 182 | + try { | ||
| 183 | + DynamicVerifyCodeDecodeResult decodeResult = DynamicVerifyCodeTool.decodeDynamicCode(resultString); | ||
| 184 | + boolean expired = decodeResult.getExpired(); | ||
| 185 | + String staticCode = decodeResult.getStaticCode(); | ||
| 186 | + Date expireTime = decodeResult.getExpireTime(); | ||
| 187 | + LogUtil.d(TAG, "expired = " + expired); | ||
| 188 | + LogUtil.d(TAG, "staticCode = " + staticCode); | ||
| 189 | + LogUtil.d(TAG, "expireTime = " + expireTime); | ||
| 190 | + if (!expired) { | ||
| 191 | + typeScan = 1; | ||
| 192 | + resultString = staticCode; | ||
| 193 | + } else { | ||
| 194 | + typeScan = 2; | ||
| 195 | + resultString = "动态二维码已过有效期"; | ||
| 196 | + } | ||
| 197 | + } catch (DynamicVerifyCodeException e) { | ||
| 198 | + typeScan = 2; | ||
| 199 | + LogUtil.d(TAG, "动态核销码异常:" + e.getMessage()); | ||
| 200 | + resultString = e.getMessage(); | ||
| 201 | + e.printStackTrace(); | ||
| 202 | + } | ||
| 177 | } else { | 203 | } else { |
| 178 | typeScan = 1; | 204 | typeScan = 1; |
| 179 | resultString = resultString; | 205 | resultString = resultString; |
| @@ -186,8 +212,8 @@ public class PhomeScanerOrderActivity extends BaseActivity implements Callback { | @@ -186,8 +212,8 @@ public class PhomeScanerOrderActivity extends BaseActivity implements Callback { | ||
| 186 | // intent = new Intent(PhomeScanerOrderActivity.this, | 212 | // intent = new Intent(PhomeScanerOrderActivity.this, |
| 187 | // PhoneCodeListActivity.class); | 213 | // PhoneCodeListActivity.class); |
| 188 | // } else { | 214 | // } else { |
| 189 | - intent = new Intent(PhomeScanerOrderActivity.this, | ||
| 190 | - QRCodeOrderListActivity.class); | 215 | + intent = new Intent(PhomeScanerOrderActivity.this, |
| 216 | + QRCodeOrderListActivity.class); | ||
| 191 | // } | 217 | // } |
| 192 | intent.putExtra("mode", 1); | 218 | intent.putExtra("mode", 1); |
| 193 | intent.putExtra("input_orid", resultString); | 219 | intent.putExtra("input_orid", resultString); |
src/com/ectrip/cyt/ui/QRCodeOrderListActivity.java
| @@ -103,6 +103,12 @@ public class QRCodeOrderListActivity extends BaseActivity implements ListOnclick | @@ -103,6 +103,12 @@ public class QRCodeOrderListActivity extends BaseActivity implements ListOnclick | ||
| 103 | LogUtil.d(TAG, "orid = " + orid); | 103 | LogUtil.d(TAG, "orid = " + orid); |
| 104 | typeScan = getIntent().getIntExtra("typeScan", 0); | 104 | typeScan = getIntent().getIntExtra("typeScan", 0); |
| 105 | LogUtil.d(TAG, "typeScan = " + typeScan); | 105 | LogUtil.d(TAG, "typeScan = " + typeScan); |
| 106 | + if (typeScan == 2) { | ||
| 107 | + orderList.setEmptyView(errorLayout); | ||
| 108 | + errorLayout.setVisibility(View.VISIBLE); | ||
| 109 | + errorInfo.setText(orid); | ||
| 110 | + return; | ||
| 111 | + } | ||
| 106 | if (orid.startsWith("OCP_")) { | 112 | if (orid.startsWith("OCP_")) { |
| 107 | ArrayList<ProductOfConsumeOrder> productOfConsumeOrders = new ArrayList<>(); | 113 | ArrayList<ProductOfConsumeOrder> productOfConsumeOrders = new ArrayList<>(); |
| 108 | ProductOfConsumeOrder productOfConsumeOrder = new ProductOfConsumeOrder(); | 114 | ProductOfConsumeOrder productOfConsumeOrder = new ProductOfConsumeOrder(); |
src/com/ectrip/cyt/ui/ScanerOrderActivity.java
| @@ -23,6 +23,9 @@ import android.view.View.OnClickListener; | @@ -23,6 +23,9 @@ import android.view.View.OnClickListener; | ||
| 23 | import android.widget.FrameLayout; | 23 | import android.widget.FrameLayout; |
| 24 | import android.widget.TextView; | 24 | import android.widget.TextView; |
| 25 | 25 | ||
| 26 | +import com.ectrip.common.dynamic.code.core.DynamicVerifyCodeTool; | ||
| 27 | +import com.ectrip.common.dynamic.code.exception.DynamicVerifyCodeException; | ||
| 28 | +import com.ectrip.common.dynamic.code.model.DynamicVerifyCodeDecodeResult; | ||
| 26 | import com.ectrip.cyt.bean.ConfigBean; | 29 | import com.ectrip.cyt.bean.ConfigBean; |
| 27 | import com.ectrip.cyt.constant.constant; | 30 | import com.ectrip.cyt.constant.constant; |
| 28 | import com.ectrip.cyt.db.DbManager; | 31 | import com.ectrip.cyt.db.DbManager; |
| @@ -45,6 +48,7 @@ import net.sourceforge.zbar.SymbolSet; | @@ -45,6 +48,7 @@ import net.sourceforge.zbar.SymbolSet; | ||
| 45 | 48 | ||
| 46 | import java.io.IOException; | 49 | import java.io.IOException; |
| 47 | import java.util.ArrayList; | 50 | import java.util.ArrayList; |
| 51 | +import java.util.Date; | ||
| 48 | 52 | ||
| 49 | /** | 53 | /** |
| 50 | * 二维码pos版扫描 | 54 | * 二维码pos版扫描 |
| @@ -240,6 +244,31 @@ public class ScanerOrderActivity extends BaseActivity { | @@ -240,6 +244,31 @@ public class ScanerOrderActivity extends BaseActivity { | ||
| 240 | } else if ((scannerResult.startsWith("TY_") || (scannerResult.startsWith("PMS_")))) { | 244 | } else if ((scannerResult.startsWith("TY_") || (scannerResult.startsWith("PMS_")))) { |
| 241 | typeScan = 1; | 245 | typeScan = 1; |
| 242 | scannerResult = scannerResult; | 246 | scannerResult = scannerResult; |
| 247 | + } else if (scannerResult.startsWith("OCP_")) { | ||
| 248 | + typeScan = 0; | ||
| 249 | + result = result; | ||
| 250 | + } else if (scannerResult.startsWith("DYV_")) { | ||
| 251 | + try { | ||
| 252 | + DynamicVerifyCodeDecodeResult decodeResult = DynamicVerifyCodeTool.decodeDynamicCode(scannerResult); | ||
| 253 | + boolean expired = decodeResult.getExpired(); | ||
| 254 | + String staticCode = decodeResult.getStaticCode(); | ||
| 255 | + Date expireTime = decodeResult.getExpireTime(); | ||
| 256 | + LogUtil.d(TAG, "expired = " + expired); | ||
| 257 | + LogUtil.d(TAG, "staticCode = " + staticCode); | ||
| 258 | + LogUtil.d(TAG, "expireTime = " + expireTime); | ||
| 259 | + if (!expired) { | ||
| 260 | + typeScan = 1; | ||
| 261 | + scannerResult = staticCode; | ||
| 262 | + } else { | ||
| 263 | + typeScan = 2; | ||
| 264 | + scannerResult = "动态二维码已过有效期"; | ||
| 265 | + } | ||
| 266 | + } catch (DynamicVerifyCodeException e) { | ||
| 267 | + typeScan = 2; | ||
| 268 | + LogUtil.d(TAG, "动态核销码异常:" + e.getMessage()); | ||
| 269 | + scannerResult = e.getMessage(); | ||
| 270 | + e.printStackTrace(); | ||
| 271 | + } | ||
| 243 | } else { | 272 | } else { |
| 244 | typeScan = 1; | 273 | typeScan = 1; |
| 245 | scannerResult = scannerResult; | 274 | scannerResult = scannerResult; |
| @@ -263,8 +292,8 @@ public class ScanerOrderActivity extends BaseActivity { | @@ -263,8 +292,8 @@ public class ScanerOrderActivity extends BaseActivity { | ||
| 263 | } | 292 | } |
| 264 | } | 293 | } |
| 265 | 294 | ||
| 266 | - }else{ | ||
| 267 | - LogUtil.d(TAG,"未扫到数据"); | 295 | + } else { |
| 296 | + LogUtil.d(TAG, "未扫到数据"); | ||
| 268 | } | 297 | } |
| 269 | } | 298 | } |
| 270 | }; | 299 | }; |