左晓为主开发手持机充值管理机
zuoxiao
2 天以前 87e5604ad04c0b7aaacf3d52bae85e62d308cb6d
generallibrary/src/main/java/com/dayu/general/activity/CardWriteSuccessActivity.kt
@@ -7,6 +7,7 @@
import com.dayu.general.BaseApplication
import com.dayu.general.bean.card.UserCard
import com.dayu.general.bean.net.CardInfoResult
import com.dayu.general.bean.net.ClientInfo
import com.dayu.general.databinding.ActivityCardWriteSuccessBinding
import com.dayu.general.tool.CardOperationType
@@ -24,6 +25,7 @@
    private var userCard: UserCard? = null
    private var orderNumber: String? = null
    private var cardInfo: CardInfoResult? = null
    private var clientInfo: ClientInfo? = null
    // 充值相关参数
    private var rechargeAmount = 0.0
@@ -69,6 +71,10 @@
        if (intent.hasExtra("cardInfo")) {
            cardInfo = intent.getSerializableExtra("cardInfo") as CardInfoResult
        }
        if (intent.hasExtra("clientInfo")) {
            clientInfo = intent.getSerializableExtra("clientInfo") as ClientInfo
        }
        initView()
@@ -186,12 +192,38 @@
            CardOperationType.OpenCard -> {
                binding.titleBar.setCenterText("开卡成功")
                binding.successTitle.text = "开卡成功"
                val messageBuilder = StringBuilder()
                messageBuilder.append("开卡操作已成功完成\n")
                // 显示用户姓名
                val userName = getUserName()
                if (!userName.isNullOrEmpty()) {
                    messageBuilder.append("用户姓名:$userName\n")
                }
                // 显示卡地址
                val cardAddress = cardNumber ?: cardAddr
                if (!cardAddress.isNullOrEmpty()) {
                    messageBuilder.append("卡地址:$cardAddress\n")
                }
                // 显示工本费
                if (cardFee > 0) {
                    messageBuilder.append("工本费:${cardFee}元\n")
                }
                // 显示充值金额
                if (rechargeAmount > 0) {
                    messageBuilder.append("充值金额:${String.format("%.2f", rechargeAmount)}元\n")
                }
                // 显示卡内余额
                messageBuilder.append("卡内余额:${MornyUtil.changeF2Y(userCard?.balance ?: 0)}元")
                // 充值成功后自动打印
                binding.successMessage.text = messageBuilder.toString()
                // 开卡成功后自动打印
                userCard?.let { card ->
                    doPrint(card)
                }
@@ -230,6 +262,14 @@
    }
    /**
     * 获取用户姓名,优先从ClientInfo获取,如果没有再从CardInfo获取
     * @return 用户姓名
     */
    private fun getUserName(): String? {
        return clientInfo?.name ?: cardInfo?.userName
    }
    /**
     * 打印充值成功信息到打印机
     * @param userCard 用户卡片信息,包含余额等信息
     * 函数会构建打印数据并调用打印适配器进行打印
@@ -249,11 +289,10 @@
                    data.add("           充值凭证")
                    data.add("*****************************")
                    // 添加用户名(从CardInfo中获取)
                    cardInfo?.userName?.let { userName ->
                        if (userName.isNotEmpty()) {
                            data.add("用户姓名:$userName")
                        }
                    // 添加用户名(优先从ClientInfo中获取,如果没有再从CardInfo中获取)
                    val userName = getUserName()
                    if (!userName.isNullOrEmpty()) {
                        data.add("用户姓名:$userName")
                    }
                    // 添加卡地址
@@ -305,11 +344,10 @@
                    data.add("        补卡凭证")
                    data.add("*****************************")
                    // 添加用户名(从CardInfo中获取)
                    cardInfo?.userName?.let { userName ->
                        if (userName.isNotEmpty()) {
                            data.add("用户姓名:$userName")
                        }
                    // 添加用户名(优先从ClientInfo中获取,如果没有再从CardInfo中获取)
                    val userName = getUserName()
                    if (!userName.isNullOrEmpty()) {
                        data.add("用户姓名:$userName")
                    }
                    val cardAddress = cardNumber ?: cardAddr
@@ -352,11 +390,10 @@
                    data.add("        销卡凭证")
                    data.add("*****************************")
                    // 添加用户名(从CardInfo中获取)
                    cardInfo?.userName?.let { userName ->
                        if (userName.isNotEmpty()) {
                            data.add("用户姓名:$userName")
                        }
                    // 添加用户名(优先从ClientInfo中获取,如果没有再从CardInfo中获取)
                    val userName = getUserName()
                    if (!userName.isNullOrEmpty()) {
                        data.add("用户姓名:$userName")
                    }
                    val cardAddress = cardNumber ?: cardAddr
@@ -397,11 +434,10 @@
                    data.add("        返还凭证")
                    data.add("*****************************")
                    // 添加用户名(从CardInfo中获取)
                    cardInfo?.userName?.let { userName ->
                        if (userName.isNotEmpty()) {
                            data.add("用户姓名:$userName")
                        }
                    // 添加用户名(优先从ClientInfo中获取,如果没有再从CardInfo中获取)
                    val userName = getUserName()
                    if (!userName.isNullOrEmpty()) {
                        data.add("用户姓名:$userName")
                    }
                    val cardAddress = cardNumber ?: cardAddr
@@ -442,11 +478,10 @@
                    data.add("        补扣凭证")
                    data.add("*****************************")
                    // 添加用户名(从CardInfo中获取)
                    cardInfo?.userName?.let { userName ->
                        if (userName.isNotEmpty()) {
                            data.add("用户姓名:$userName")
                        }
                    // 添加用户名(优先从ClientInfo中获取,如果没有再从CardInfo中获取)
                    val userName = getUserName()
                    if (!userName.isNullOrEmpty()) {
                        data.add("用户姓名:$userName")
                    }
                    val cardAddress = cardNumber ?: cardAddr
@@ -486,11 +521,10 @@
                    data.add("           开卡凭证")
                    data.add("*****************************")
                    // 添加用户名(从CardInfo中获取)
                    cardInfo?.userName?.let { userName ->
                        if (userName.isNotEmpty()) {
                            data.add("用户姓名:$userName")
                        }
                    // 添加用户名(优先从ClientInfo中获取,如果没有再从CardInfo中获取)
                    val userName = getUserName()
                    if (!userName.isNullOrEmpty()) {
                        data.add("用户姓名:$userName")
                    }
                    // 添加卡地址
@@ -507,14 +541,15 @@
                    // 添加充值金额
                    if (rechargeAmount > 0) {
                        data.add("充值金额:${String.format("%.2f", rechargeAmount)} 元")
                        // 添加充值后余额
                        data.add("充值后余额:${MornyUtil.changeF2Y(userCard.balance)} 元")
                    }
                    // 添加赠送金额
                    // 添加工本费
                    if (cardFee > 0) {
                        data.add("工本费:" + MornyUtil.changeF2Y(cardFee) + "元")
                        data.add("工本费:" + cardFee + "元")
                    }
                    // 添加卡内余额(开卡后的余额)
                    data.add("卡内余额:${MornyUtil.changeF2Y(userCard.balance)} 元")
                    // 添加订单号
                    if (!orderNumber.isNullOrEmpty()) {
@@ -541,11 +576,10 @@
                    data.add("        操作凭证")
                    data.add("*****************************")
                    // 添加用户名(从CardInfo中获取)
                    cardInfo?.userName?.let { userName ->
                        if (userName.isNotEmpty()) {
                            data.add("用户姓名:$userName")
                        }
                    // 添加用户名(优先从ClientInfo中获取,如果没有再从CardInfo中获取)
                    val userName = getUserName()
                    if (!userName.isNullOrEmpty()) {
                        data.add("用户姓名:$userName")
                    }
                    val cardAddress = cardNumber ?: cardAddr