baselibrary/src/main/res/values/colors.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
generallibrary/src/main/java/com/dayu/general/activity/NewCard2Activity.kt | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
generallibrary/src/main/java/com/dayu/general/bean/db/CardRegistrationBean.kt | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
generallibrary/src/main/java/com/dayu/general/dao/AppDataBase.kt | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
generallibrary/src/main/java/com/dayu/general/dao/BaseDaoSingleton.kt | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
generallibrary/src/main/java/com/dayu/general/dao/CardRegistrationDao.kt | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
generallibrary/src/main/res/layout/activity_new_card_1_ge.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
generallibrary/src/main/res/values/colors.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
baselibrary/src/main/res/values/colors.xml
@@ -14,7 +14,10 @@ <color name="colorBackground">#FFFFFF</color> <!--公共标题--> <color name="title_bg">#009ad6</color> <color name="base_blue_bg">#009ad6</color> <color name="base_green_bg">#e6e6e6</color> <color name="title_bg">@color/base_blue_bg</color> <color name="main_bg">#F0F0F0</color> <color name="select_title_text">#B0B0B0</color> generallibrary/src/main/java/com/dayu/general/activity/NewCard2Activity.kt
@@ -6,14 +6,18 @@ import android.text.TextWatcher import android.view.View import android.widget.Toast import androidx.lifecycle.lifecycleScope import com.dayu.baselibrary.net.subscribers.SubscriberListener import com.dayu.baselibrary.view.TitleBar.ClickType_LEFT_IMAGE import com.dayu.general.BaseApplication import com.dayu.general.R import com.dayu.general.bean.db.CardRegistrationBean import com.dayu.general.dao.BaseDaoSingleton import com.dayu.general.databinding.ActivityNewCard1GeBinding import com.dayu.general.net.ApiManager import com.dayu.general.net.BaseResponse import com.dayu.general.tool.NfcReadHelper import kotlinx.coroutines.launch /** * Description: 用户开卡界面 @@ -167,10 +171,30 @@ object : SubscriberListener<BaseResponse<String>>() { override fun onNext(response: BaseResponse<String>) { if (response.success) { // 激活成功 Toast.makeText(this@NewCard2Activity, "开卡成功", Toast.LENGTH_SHORT).show() setResult(RESULT_OK) finish() // 保存开卡信息到数据库 val cardRegistration = CardRegistrationBean( cardNumber = cardPhysicalId, userName = binding.newCardUserName.text.toString(), idCard = binding.newCardIdCard.text.toString(), farmerCode = binding.newCardFarmerCode.text.toString(), cardFee = cardFee, remark = binding.newCardRemark.text.toString(), paymentMethod = paymentId, isReported = true, isCardWritten = true ) // 使用协程在后台线程中保存数据 lifecycleScope.launch { try { BaseDaoSingleton.getInstance(this@NewCard2Activity).cardRegistrationDao().insert(cardRegistration) Toast.makeText(this@NewCard2Activity, "开卡成功", Toast.LENGTH_SHORT).show() setResult(RESULT_OK) finish() } catch (e: Exception) { Toast.makeText(this@NewCard2Activity, "保存开卡信息失败: ${e.message}", Toast.LENGTH_SHORT).show() } } } else { // 激活失败 Toast.makeText( @@ -215,10 +239,15 @@ binding.newCardArerNumber.text = cardNumber // 隐藏NFC读卡界面 binding.nfcContainer.visibility = View.GONE Toast.makeText(this, "读卡成功", Toast.LENGTH_SHORT).show() binding.centerScroll.visibility = View.VISIBLE binding.newCardRegistBtn.visibility = View.VISIBLE } } } generallibrary/src/main/java/com/dayu/general/bean/db/CardRegistrationBean.kt
New file @@ -0,0 +1,21 @@ package com.dayu.general.bean.db import androidx.room.Entity import androidx.room.PrimaryKey @Entity(tableName = "card_registration") data class CardRegistrationBean( @PrimaryKey(autoGenerate = true) val id: Long = 0, val cardNumber: String, // IC卡卡号 val userName: String, // 姓名 val idCard: String, // 身份证号 val farmerCode: String, // 农户编号 val cardFee: Double, // 工本费 val remark: String, // 备注 val paymentMethod: Int, // 支付方式 val orderId: String? = null, // 订单id,初始为null,后续更新 val isReported: Boolean = false, // 是否上报成功 val isCardWritten: Boolean = false, // 是否写卡成功 val createTime: Long = System.currentTimeMillis() // 创建时间 ) generallibrary/src/main/java/com/dayu/general/dao/AppDataBase.kt
@@ -3,11 +3,13 @@ import androidx.room.Database import androidx.room.RoomDatabase import com.dayu.general.bean.db.CardData import com.dayu.general.bean.db.CardRegistrationBean import com.dayu.general.bean.db.PassWordCardBean import com.dayu.general.bean.db.ProjectDataBean @Database(entities = [PassWordCardBean::class, CardData::class, ProjectDataBean::class], version = 1, exportSchema = false) @Database(entities = [PassWordCardBean::class, CardData::class, ProjectDataBean::class, CardRegistrationBean::class], version = 2, exportSchema = false) abstract class AppDataBase : RoomDatabase() { abstract fun cardDataDao(): CardDataDao abstract fun projectDataDao(): ProjectDataDao abstract fun cardRegistrationDao(): CardRegistrationDao } generallibrary/src/main/java/com/dayu/general/dao/BaseDaoSingleton.kt
@@ -10,6 +10,7 @@ companion object { var baseDao: AppDataBase? = null var AsynchBaseDao: AppDataBase? = null @JvmField val SqlitePath: String = Environment.getExternalStorageDirectory().absolutePath + File.separator + ".dayu" + File.separator + "data" + File.separator @@ -23,22 +24,22 @@ } return baseDao as AppDataBase } } var AsynchBaseDao: AppDataBase? = null fun getAsynchInstance(context: Context?): AppDataBase? { if (AsynchBaseDao == null) { AsynchBaseDao = Room.databaseBuilder<AppDataBase>( context!!, AppDataBase::class.java, SqlitePath + "ConfigurationData_generalV1" ).build() fun getAsynchInstance(context: Context?): AppDataBase? { if (AsynchBaseDao == null) { AsynchBaseDao = Room.databaseBuilder<AppDataBase>( context!!, AppDataBase::class.java, SqlitePath + "ConfigurationData_generalV1" ).build() } return AsynchBaseDao } return AsynchBaseDao } // companion object { // fun getAsynchInstance(baseActivity: BaseActivity): AppDataBase? { // return getAsynchInstance(baseActivity) generallibrary/src/main/java/com/dayu/general/dao/CardRegistrationDao.kt
New file @@ -0,0 +1,31 @@ package com.dayu.general.dao import androidx.room.* import com.dayu.general.bean.db.CardRegistrationBean @Dao interface CardRegistrationDao { @Insert suspend fun insert(cardRegistration: CardRegistrationBean): Long @Update suspend fun update(cardRegistration: CardRegistrationBean) @Delete suspend fun delete(cardRegistration: CardRegistrationBean) @Query("SELECT * FROM card_registration WHERE cardNumber = :cardNumber") suspend fun getByCardNumber(cardNumber: String): CardRegistrationBean? @Query("SELECT * FROM card_registration WHERE orderId = :orderId") suspend fun getByOrderId(orderId: String): CardRegistrationBean? @Query("SELECT * FROM card_registration WHERE isReported = 0") suspend fun getUnreportedCards(): List<CardRegistrationBean> @Query("SELECT * FROM card_registration WHERE isCardWritten = 0") suspend fun getUnwrittenCards(): List<CardRegistrationBean> @Query("SELECT * FROM card_registration ORDER BY createTime DESC") suspend fun getAllCards(): List<CardRegistrationBean> } generallibrary/src/main/res/layout/activity_new_card_1_ge.xml
@@ -4,7 +4,7 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#F5F7FA"> android:background="@color/base_list_bg"> <com.dayu.baselibrary.view.TitleBar android:id="@+id/titleBar" @@ -79,24 +79,28 @@ </androidx.cardview.widget.CardView> <ScrollView android:id="@+id/center_scroll" android:layout_width="match_parent" android:layout_height="0dp" android:fillViewport="true" android:scrollbars="none" android:visibility="gone" app:layout_constraintBottom_toTopOf="@+id/newCard_registBtn" android:visibility="visible" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintTop_toBottomOf="@+id/titleBar"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:padding="16dp"> android:paddingBottom="16dp" android:paddingLeft="16dp" android:paddingRight="16dp" android:paddingTop="10dp"> <androidx.cardview.widget.CardView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="16dp" android:layout_marginBottom="10dp" app:cardCornerRadius="8dp" app:cardElevation="2dp"> @@ -110,7 +114,7 @@ <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="16dp" android:layout_marginBottom="10dp" android:text="基本信息" android:textColor="#333333" android:textSize="18sp" @@ -119,12 +123,12 @@ <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="12dp" android:layout_marginBottom="6dp" android:gravity="center_vertical" android:orientation="horizontal"> <TextView android:layout_width="120dp" android:layout_width="105dp" android:layout_height="wrap_content" android:text="卡号:" android:textColor="#666666" @@ -142,12 +146,12 @@ <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="12dp" android:layout_marginBottom="6dp" android:gravity="center_vertical" android:orientation="horizontal"> <TextView android:layout_width="120dp" android:layout_width="105dp" android:layout_height="wrap_content" android:text="姓名:" android:textColor="#666666" @@ -165,12 +169,12 @@ <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="12dp" android:layout_marginBottom="6dp" android:gravity="center_vertical" android:orientation="horizontal"> <TextView android:layout_width="120dp" android:layout_width="105dp" android:layout_height="wrap_content" android:text="身份证号:" android:textColor="#666666" @@ -188,12 +192,12 @@ <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="12dp" android:layout_marginBottom="5dp" android:gravity="center_vertical" android:orientation="horizontal"> <TextView android:layout_width="120dp" android:layout_width="105dp" android:layout_height="wrap_content" android:text="农户编号:" android:textColor="#666666" @@ -213,7 +217,7 @@ <androidx.cardview.widget.CardView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="16dp" android:layout_marginBottom="10dp" app:cardCornerRadius="8dp" app:cardElevation="2dp"> @@ -226,7 +230,7 @@ <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="16dp" android:layout_marginBottom="10dp" android:text="费用信息" android:textColor="#333333" android:textSize="18sp" @@ -240,7 +244,7 @@ android:orientation="horizontal"> <TextView android:layout_width="120dp" android:layout_width="105dp" android:layout_height="wrap_content" android:text="工本费:" android:textColor="#666666" @@ -259,7 +263,6 @@ android:background="@null" android:hint="请输入工本费(选填)" android:inputType="numberDecimal" android:padding="12dp" android:textColor="#333333" android:textSize="@dimen/new_card_size" /> </LinearLayout> @@ -273,7 +276,7 @@ android:orientation="horizontal"> <TextView android:layout_width="120dp" android:layout_width="105dp" android:layout_height="wrap_content" android:text="充值金额:" android:textColor="#666666" @@ -292,7 +295,6 @@ android:background="@null" android:hint="请输入充值金额(选填)" android:inputType="numberDecimal" android:padding="12dp" android:textColor="#333333" android:textSize="@dimen/new_card_size" /> </LinearLayout> @@ -302,12 +304,12 @@ <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="12dp" android:layout_marginBottom="5dp" android:gravity="center_vertical" android:orientation="horizontal"> <TextView android:layout_width="120dp" android:layout_width="105dp" android:layout_height="wrap_content" android:text="备注:" android:textColor="#666666" @@ -325,7 +327,6 @@ android:layout_height="wrap_content" android:background="@null" android:hint="请输入备注(选填)" android:padding="12dp" android:textColor="#333333" android:textSize="@dimen/new_card_size" /> </LinearLayout> @@ -348,7 +349,7 @@ <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="16dp" android:layout_marginBottom="10dp" android:text="支付方式" android:textColor="#333333" android:textSize="18sp" @@ -404,20 +405,18 @@ </RadioGroup> </LinearLayout> </androidx.cardview.widget.CardView> <TextView android:id="@+id/newCard_registBtn" android:layout_width="match_parent" android:layout_height="56dp" android:layout_marginTop="15dp" android:background="@color/bottom_color" android:visibility="visible" android:gravity="center" android:text="确认开卡" android:textColor="#FFFFFF" android:textSize="16sp" /> </LinearLayout> </ScrollView> <TextView android:id="@+id/newCard_registBtn" android:layout_width="match_parent" android:layout_height="56dp" android:layout_margin="16dp" android:background="#4285F4" android:visibility="gone" android:gravity="center" android:text="确认开卡" android:textColor="#FFFFFF" android:textSize="16sp" app:layout_constraintBottom_toBottomOf="parent" /> </androidx.constraintlayout.widget.ConstraintLayout> generallibrary/src/main/res/values/colors.xml
@@ -4,7 +4,7 @@ <color name="black">#333</color> <color name="white">#fff</color> <color name="nav_item_color">#555555</color> <color name="base_list_bg">#e6e6e6</color> <color name="base_list_bg">@color/base_green_bg</color> <color name="green">#32CD32</color> <color name="blue">#007BFF</color> <color name="grey">#808080</color>