|
@@ -11,6 +11,7 @@ import com.caimei.module.pay.dao.PayDao;
|
|
|
import com.caimei.module.pay.service.PayService;
|
|
|
import com.caimei.module.pay.util.*;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.apache.commons.lang.ArrayUtils;
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
@@ -432,9 +433,47 @@ public class PayServiceImpl implements PayService {
|
|
|
log.info(">>>>>>>>>>>>>>>>>>>>>>>保存付款金额到收款记录," + amount);
|
|
|
//修改分账付款状态
|
|
|
payDao.updateSplitAccountByPay(mbOrderId);
|
|
|
+ //判断是否是充值商品
|
|
|
+ getRechargeGoods(order, amount);
|
|
|
return "SUCCESS";
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 判断是否是充值商品
|
|
|
+ *
|
|
|
+ * @param order
|
|
|
+ * @param amount 本次支付金额
|
|
|
+ */
|
|
|
+ private void getRechargeGoods(OrderVo order, BigDecimal amount) {
|
|
|
+ boolean rechargeGoods = false;
|
|
|
+ int[] products = {6060, 6061, 6062, 6063, 6064, 6065, 6066, 6067, 6068, 6069};
|
|
|
+ List<OrderProductVo> orderProductList = payDao.fandAllOrderProduct(order.getOrderID().intValue());
|
|
|
+ for (OrderProductVo orderProduct : orderProductList) {
|
|
|
+ if (ArrayUtils.contains(products, orderProduct.getProductID())) {
|
|
|
+ rechargeGoods = true;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (rechargeGoods) {
|
|
|
+ UserVo user = payDao.findUser(order.getUserID());
|
|
|
+ user.setUserMoney(MathUtil.add(user.getUserMoney(), amount));
|
|
|
+ user.setAbleUserMoney(MathUtil.add(user.getAbleUserMoney(), amount));
|
|
|
+ payDao.updateUserMoney(user.getUserMoney(), user.getAbleUserMoney(), user.getUserID());
|
|
|
+ //保存余额到余额收支记录
|
|
|
+ BalanceRecordVo balanceRecord = new BalanceRecordVo();
|
|
|
+ balanceRecord.setUserId(user.getUserID().longValue());
|
|
|
+ balanceRecord.setType("1");
|
|
|
+ balanceRecord.setBalanceType("4");
|
|
|
+ balanceRecord.setAddDate(new Date());
|
|
|
+ balanceRecord.setAmount(amount);
|
|
|
+ balanceRecord.setOrderId(order.getOrderID());
|
|
|
+ balanceRecord.setRemark("订单商品充值余额");
|
|
|
+ balanceRecord.setDelFlag("0");
|
|
|
+ payDao.insertBalanceRecord(balanceRecord);
|
|
|
+ log.info("订单商品充值余额>>>>>>>>>>>>>" + amount);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 支付状态转换
|
|
|
*/
|