|
@@ -833,15 +833,14 @@ public class CmReturnedPurchaseService extends CrudService<CmReturnedPurchaseDao
|
|
Double onlineMoneyPay = cmReceiptOrderRelationDao.findOnlineMoneyPay(orderId);
|
|
Double onlineMoneyPay = cmReceiptOrderRelationDao.findOnlineMoneyPay(orderId);
|
|
if (null != onlineMoneyPay && onlineMoneyPay >= 0.01) {
|
|
if (null != onlineMoneyPay && onlineMoneyPay >= 0.01) {
|
|
//根据userid查产生线上余额的唯一请求单号,发起退款请求
|
|
//根据userid查产生线上余额的唯一请求单号,发起退款请求
|
|
- String userId = cmReceiptOrderRelationDao.findUserId(orderId);
|
|
|
|
- //用户名下未分帐的线上充值订金/余额订单唯一订单号
|
|
|
|
- ArrayList<String> orderRequestNos = cmReceiptOrderRelationDao.findMborderId(userId);
|
|
|
|
- //用户名下线上退款回线上余额的原唯一订单号
|
|
|
|
- ArrayList<String> orderRequestNo = cmReceiptOrderRelationDao.findOrderRequestNo(userId);
|
|
|
|
- if (orderRequestNo != null && orderRequestNo.size() > 0) {
|
|
|
|
- for (String s : orderRequestNo) {
|
|
|
|
|
|
+ Integer userId = cmReceiptOrderRelationDao.findUserId(orderId);
|
|
|
|
+ //用户名下未分帐的线上余额订单mborderid
|
|
|
|
+ List<String> mborderIds = cmReceiptOrderRelationDao.findMborderId(userId);
|
|
|
|
+ //用户名下线上退款回线上余额的原mborderid
|
|
|
|
+ if (mborderIds != null && mborderIds.size() > 0) {
|
|
|
|
+ for (String s : mborderIds) {
|
|
if (onlineMoneyPay > 0) {
|
|
if (onlineMoneyPay > 0) {
|
|
- //该单退还金额
|
|
|
|
|
|
+ //该单线上余额
|
|
Double money = cmReceiptOrderRelationDao.findMoney(s);
|
|
Double money = cmReceiptOrderRelationDao.findMoney(s);
|
|
//待支付总线上余额>该笔退款金额,则退全额,否则退待支付
|
|
//待支付总线上余额>该笔退款金额,则退全额,否则退待支付
|
|
Double refundMoney = MathUtil.compare(onlineMoneyPay, money) > 0 ? money : onlineMoneyPay;
|
|
Double refundMoney = MathUtil.compare(onlineMoneyPay, money) > 0 ? money : onlineMoneyPay;
|
|
@@ -849,27 +848,12 @@ public class CmReturnedPurchaseService extends CrudService<CmReturnedPurchaseDao
|
|
//todo 退款
|
|
//todo 退款
|
|
|
|
|
|
|
|
|
|
- onlineMoneyPay = MathUtil.sub(onlineMoneyPay, money).doubleValue();
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- if (orderRequestNos != null && orderRequestNos.size() > 0) {
|
|
|
|
- for (String requestNo : orderRequestNos) {
|
|
|
|
- if (onlineMoneyPay > 0) {
|
|
|
|
- //该单退还金额
|
|
|
|
- Double money = cmReceiptOrderRelationDao.findMoney(requestNo);
|
|
|
|
- //待支付总线上余额>该笔退款金额,则退全额,否则退待支付
|
|
|
|
- Double refundMoney = MathUtil.compare(onlineMoneyPay, money) > 0 ? money : onlineMoneyPay;
|
|
|
|
- String payType=cmReceiptOrderRelationDao.findPayTypeByOrderRequestNo(requestNo);
|
|
|
|
- //todo 退款
|
|
|
|
-
|
|
|
|
-
|
|
|
|
onlineMoneyPay = MathUtil.sub(onlineMoneyPay, money).doubleValue();
|
|
onlineMoneyPay = MathUtil.sub(onlineMoneyPay, money).doubleValue();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if(onlineMoneyPay<=0){
|
|
if(onlineMoneyPay<=0){
|
|
- CmUser user = cmUserDao.get(userId);
|
|
|
|
|
|
+ CmUser user = cmUserDao.get(userId.toString());
|
|
//线上余额退完,user表减余额,cubr表统计余额减少
|
|
//线上余额退完,user表减余额,cubr表统计余额减少
|
|
CmUserBalanceRecord cmUserBalanceRecord = new CmUserBalanceRecord();
|
|
CmUserBalanceRecord cmUserBalanceRecord = new CmUserBalanceRecord();
|
|
cmUserBalanceRecord.setBalanceType("19");
|
|
cmUserBalanceRecord.setBalanceType("19");
|