|
@@ -288,6 +288,9 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService {
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private com.fs.gtPush.service.uniPush2Service uniPush2Service;
|
|
private com.fs.gtPush.service.uniPush2Service uniPush2Service;
|
|
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private IFsPackageOrderService packageOrderService;
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* 查询订单
|
|
* 查询订单
|
|
|
*
|
|
*
|
|
@@ -1255,6 +1258,10 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService {
|
|
|
data.put("payMoney", order.getPayPrice());
|
|
data.put("payMoney", order.getPayPrice());
|
|
|
data.put("discountMoney", new BigDecimal(0));
|
|
data.put("discountMoney", new BigDecimal(0));
|
|
|
}
|
|
}
|
|
|
|
|
+ if (StringUtils.isNotEmpty(param.getOrderKey())) {
|
|
|
|
|
+ data.put("payMoney", order.getPayMoney());
|
|
|
|
|
+ data.put("discountMoney", order.getDiscountMoney());
|
|
|
|
|
+ }
|
|
|
return R.ok().put("data", data);
|
|
return R.ok().put("data", data);
|
|
|
|
|
|
|
|
} else {
|
|
} else {
|
|
@@ -1275,6 +1282,8 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService {
|
|
|
return R.error("订单状态不正确");
|
|
return R.error("订单状态不正确");
|
|
|
}
|
|
}
|
|
|
FsStoreOrder storeOrder = new FsStoreOrder();
|
|
FsStoreOrder storeOrder = new FsStoreOrder();
|
|
|
|
|
+ FsStoreOrder map = new FsStoreOrder();
|
|
|
|
|
+ map.setOrderId(param.getOrderId());
|
|
|
storeOrder.setOrderId(param.getOrderId());
|
|
storeOrder.setOrderId(param.getOrderId());
|
|
|
if (StringUtils.isEmpty(order.getUserName())) {
|
|
if (StringUtils.isEmpty(order.getUserName())) {
|
|
|
if (param.getAddressId() != null && param.getAddressId() > 0) {
|
|
if (param.getAddressId() != null && param.getAddressId() > 0) {
|
|
@@ -1283,6 +1292,9 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService {
|
|
|
storeOrder.setUserName(address.getRealName().trim());
|
|
storeOrder.setUserName(address.getRealName().trim());
|
|
|
storeOrder.setUserPhone(address.getPhone().trim());
|
|
storeOrder.setUserPhone(address.getPhone().trim());
|
|
|
storeOrder.setUserAddress(address.getProvince() + " " + address.getCity() + " " + address.getDistrict() + " " + address.getDetail());
|
|
storeOrder.setUserAddress(address.getProvince() + " " + address.getCity() + " " + address.getDistrict() + " " + address.getDetail());
|
|
|
|
|
+ map.setUserAddress(address.getProvince() + " " + address.getCity() + " " + address.getDistrict() + " " + address.getDetail());
|
|
|
|
|
+ map.setUserName(address.getRealName().trim());
|
|
|
|
|
+ map.setUserPhone(address.getPhone().trim());
|
|
|
}
|
|
}
|
|
|
} else {
|
|
} else {
|
|
|
return R.error("收货地址不能为空");
|
|
return R.error("收货地址不能为空");
|
|
@@ -1295,7 +1307,9 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService {
|
|
|
storeOrder.setUserName(address.getRealName().trim());
|
|
storeOrder.setUserName(address.getRealName().trim());
|
|
|
storeOrder.setUserPhone(address.getPhone().trim());
|
|
storeOrder.setUserPhone(address.getPhone().trim());
|
|
|
storeOrder.setUserAddress(address.getProvince() + address.getCity() + address.getDistrict() + address.getDetail());
|
|
storeOrder.setUserAddress(address.getProvince() + address.getCity() + address.getDistrict() + address.getDetail());
|
|
|
-
|
|
|
|
|
|
|
+ map.setUserAddress(address.getProvince() + " " + address.getCity() + " " + address.getDistrict() + " " + address.getDetail());
|
|
|
|
|
+ map.setUserName(address.getRealName().trim());
|
|
|
|
|
+ map.setUserPhone(address.getPhone().trim());
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -1354,8 +1368,11 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService {
|
|
|
storeOrder.setDiscountMoney(discountMoney);
|
|
storeOrder.setDiscountMoney(discountMoney);
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
- fsStoreOrderMapper.updateFsStoreOrder(storeOrder);
|
|
|
|
|
-
|
|
|
|
|
|
|
+ if (StringUtils.isEmpty(param.getOrderKey())) {
|
|
|
|
|
+ fsStoreOrderMapper.updateFsStoreOrder(storeOrder);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ fsStoreOrderMapper.updateFsStoreOrder(map);
|
|
|
|
|
+ }
|
|
|
return R.ok();
|
|
return R.ok();
|
|
|
|
|
|
|
|
}
|
|
}
|
|
@@ -1508,6 +1525,20 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService {
|
|
|
userCouponService.updateFsUserCoupon(userCoupon);
|
|
userCouponService.updateFsUserCoupon(userCoupon);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+ logger.info("进入处方单支付回调,处理更新套餐包关联数据");
|
|
|
|
|
+ //更新关联套餐包订单
|
|
|
|
|
+ FsPackageOrder packageOrder = fsPackageOrderMapper.selectFsPackageOrderByOrderId(order.getPackageOrderId());
|
|
|
|
|
+ logger.info("套餐包关联数据{}",packageOrder);
|
|
|
|
|
+ if (packageOrder != null) {
|
|
|
|
|
+ if (packageOrder.getIsPay() == 0) {
|
|
|
|
|
+ FsPackageOrder map = new FsPackageOrder();
|
|
|
|
|
+ map.setOrderId(packageOrder.getOrderId());
|
|
|
|
|
+ map.setIsPay(1);
|
|
|
|
|
+ map.setStatus(FsPackageOrderStatusEnum.STATUS_2.getValue());
|
|
|
|
|
+ map.setPayTime(new Date());
|
|
|
|
|
+ fsPackageOrderMapper.updateFsPackageOrder(map);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
return R.ok();
|
|
return R.ok();
|
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
|
log.info(payCode + "异常了" + e.getMessage());
|
|
log.info(payCode + "异常了" + e.getMessage());
|
|
@@ -1615,7 +1646,7 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
- public FsStoreOrder confirmOrder(FsPackageOrder packageOrder, Long doctorId) {
|
|
|
|
|
|
|
+ public FsStoreOrder confirmOrder(FsPackageOrder packageOrder, String createOrderKey) {
|
|
|
|
|
|
|
|
FsPackage fsPackage = fsPackageMapper.selectFsPackageByPackageId(packageOrder.getPackageId());
|
|
FsPackage fsPackage = fsPackageMapper.selectFsPackageByPackageId(packageOrder.getPackageId());
|
|
|
JSONArray objects = JSONUtil.parseArray(fsPackage.getProductJson());
|
|
JSONArray objects = JSONUtil.parseArray(fsPackage.getProductJson());
|
|
@@ -1630,14 +1661,21 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService {
|
|
|
Long doctorID = iFsDoctorService.selectFsDoctorDoctorByPackage();
|
|
Long doctorID = iFsDoctorService.selectFsDoctorDoctorByPackage();
|
|
|
packageOrder.setDoctorId(doctorID);
|
|
packageOrder.setDoctorId(doctorID);
|
|
|
}
|
|
}
|
|
|
-// if (packageSubType == 3 ) {
|
|
|
|
|
-// inquiryOrderService.createOrderByPackageOrderStatus4(packageOrder);
|
|
|
|
|
-// }
|
|
|
|
|
|
|
+ if (packageSubType == 3 ) {
|
|
|
|
|
+ inquiryOrderService.createOrderByPackageOrderStatus4(packageOrder);
|
|
|
|
|
+ }
|
|
|
prescribeId = fsPrescribeService.insertFsPrescribeByPackageOrder(packageOrder);
|
|
prescribeId = fsPrescribeService.insertFsPrescribeByPackageOrder(packageOrder);
|
|
|
order.setPrescribeId(prescribeId);
|
|
order.setPrescribeId(prescribeId);
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
|
|
+ FsPackageOrderComputeParam param = new FsPackageOrderComputeParam();
|
|
|
|
|
+ param.setOrderId(packageOrder.getOrderId());
|
|
|
|
|
+ param.setStoreId(packageOrder.getStoreId());
|
|
|
|
|
+ param.setCreatePackageOrderKey(createOrderKey);
|
|
|
|
|
+ param.setUserCouponId(packageOrder.getUserCouponId());
|
|
|
|
|
+ param.setPayType(packageOrder.getPayType());
|
|
|
|
|
+ param.setCompanyUserId(packageOrder.getCompanyUserId());
|
|
|
|
|
+ param.setCompanyId(packageOrder.getCompanyId());
|
|
|
|
|
+ Map<String, Object> moneys = computeOrderMoney(packageOrder.getTotalPrice(), param);
|
|
|
List<FsStoreOrderItem> items = new ArrayList<>();
|
|
List<FsStoreOrderItem> items = new ArrayList<>();
|
|
|
log.info("套餐包生成药品订单:{}", packageOrder.getOrderSn());
|
|
log.info("套餐包生成药品订单:{}", packageOrder.getOrderSn());
|
|
|
order.setOrderCode(packageOrder.getOrderSn());
|
|
order.setOrderCode(packageOrder.getOrderSn());
|
|
@@ -1645,8 +1683,8 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService {
|
|
|
order.setStoreId(fsPackage.getStoreId());
|
|
order.setStoreId(fsPackage.getStoreId());
|
|
|
|
|
|
|
|
order.setStatus(1);
|
|
order.setStatus(1);
|
|
|
- order.setPayDelivery(packageOrder.getPayDelivery());
|
|
|
|
|
- order.setPayRemain(packageOrder.getPayRemain());
|
|
|
|
|
|
|
+ order.setPayDelivery((BigDecimal)moneys.get("payDelivery"));
|
|
|
|
|
+ order.setPayRemain((BigDecimal)moneys.get("payRemain"));
|
|
|
order.setPayType(packageOrder.getPayType());
|
|
order.setPayType(packageOrder.getPayType());
|
|
|
order.setPackageSecondName(packageOrder.getPackageSecondName());
|
|
order.setPackageSecondName(packageOrder.getPackageSecondName());
|
|
|
order.setDoctorId(packageOrder.getDoctorId());
|
|
order.setDoctorId(packageOrder.getDoctorId());
|
|
@@ -1799,11 +1837,12 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService {
|
|
|
|
|
|
|
|
order.setOrderType(fsPackage.getProductType());
|
|
order.setOrderType(fsPackage.getProductType());
|
|
|
order.setTotalNum(totalNum);
|
|
order.setTotalNum(totalNum);
|
|
|
- order.setTotalPrice(totalPrice);
|
|
|
|
|
- order.setPayPrice(packageOrder.getPayPrice());
|
|
|
|
|
- order.setPayMoney(packageOrder.getPayMoney());
|
|
|
|
|
|
|
+ order.setTotalPrice(packageOrder.getTotalPrice());
|
|
|
|
|
+ order.setPayPrice((BigDecimal)moneys.get("payPrice"));
|
|
|
|
|
+ order.setPayMoney((BigDecimal)moneys.get("payMoney"));
|
|
|
order.setIsPay(0);
|
|
order.setIsPay(0);
|
|
|
order.setItemJson(JSONUtil.toJsonStr(items));
|
|
order.setItemJson(JSONUtil.toJsonStr(items));
|
|
|
|
|
+ order.setOrderKey(createOrderKey);
|
|
|
|
|
|
|
|
if (packageOrder.getCycle() >= followRate) {
|
|
if (packageOrder.getCycle() >= followRate) {
|
|
|
Calendar calendar = Calendar.getInstance();
|
|
Calendar calendar = Calendar.getInstance();
|
|
@@ -4088,4 +4127,151 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService {
|
|
|
return fsStoreOrderMapper.selectFsStoreOrderProductStatistics(fsStoreOrder);
|
|
return fsStoreOrderMapper.selectFsStoreOrderProductStatistics(fsStoreOrder);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ public Map<String, Object> computeOrderMoney(BigDecimal orderPrice, FsPackageOrderComputeParam param) {
|
|
|
|
|
+ Map<String, Object> moneys = new HashMap<>();
|
|
|
|
|
+ BigDecimal payPrice = orderPrice;
|
|
|
|
|
+ BigDecimal payMoney = new BigDecimal(0);
|
|
|
|
|
+ BigDecimal payRemain = new BigDecimal(0);
|
|
|
|
|
+ BigDecimal payDelivery = new BigDecimal(0);
|
|
|
|
|
+ BigDecimal discountMoney = new BigDecimal(0);
|
|
|
|
|
+ String json = configService.selectConfigByKey("his.package");
|
|
|
|
|
+ FsSysConfig sysConfig = configUtil.getSysConfig();
|
|
|
|
|
+ PackageConfigDTO configDTO = JSONUtil.toBean(json, PackageConfigDTO.class);
|
|
|
|
|
+ if (param.getUserCouponId() != null && param.getUserCouponId() > 0l) {
|
|
|
|
|
+ FsUserCoupon userCoupon = userCouponService.selectFsUserCouponById(param.getUserCouponId());
|
|
|
|
|
+ if (userCoupon != null) {
|
|
|
|
|
+ if (userCoupon.getStatus() == 0) {
|
|
|
|
|
+ FsCoupon coupon = couponService.selectFsCouponByCouponId(userCoupon.getCouponId());
|
|
|
|
|
+ if (coupon.getCouponType().equals(1)) {
|
|
|
|
|
+ if (coupon.getMinPrice().compareTo(orderPrice) <=0) {
|
|
|
|
|
+ if (coupon.getPrice().compareTo(orderPrice) >= 0) {
|
|
|
|
|
+ payPrice = new BigDecimal(0);
|
|
|
|
|
+ discountMoney = coupon.getPrice();
|
|
|
|
|
+ } else {
|
|
|
|
|
+ payPrice = orderPrice.subtract(coupon.getPrice());
|
|
|
|
|
+ discountMoney = coupon.getPrice();
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ //中药免单券
|
|
|
|
|
+ } else if (coupon.getCouponType().equals(2)) {
|
|
|
|
|
+ payPrice = new BigDecimal(0);
|
|
|
|
|
+ discountMoney = orderPrice;
|
|
|
|
|
+ //问诊免单券
|
|
|
|
|
+ } else if (coupon.getCouponType().equals(3)) {
|
|
|
|
|
+
|
|
|
|
|
+ //中药打折券
|
|
|
|
|
+ } else if (coupon.getCouponType().equals(4)) {
|
|
|
|
|
+ payPrice = orderPrice.multiply(coupon.getRate()).divide(new BigDecimal(100));
|
|
|
|
|
+ discountMoney = coupon.getPrice().subtract(orderPrice);
|
|
|
|
|
+ //私域疗法券
|
|
|
|
|
+ } else if (coupon.getCouponType().equals(5)) {
|
|
|
|
|
+ if (coupon.getMinPrice().compareTo(orderPrice) <=0) {
|
|
|
|
|
+ if (coupon.getPrice().compareTo(orderPrice) >= 0) {
|
|
|
|
|
+ payPrice = new BigDecimal(0);
|
|
|
|
|
+ discountMoney = coupon.getPrice();
|
|
|
|
|
+ } else {
|
|
|
|
|
+ payPrice = orderPrice.subtract(coupon.getPrice());
|
|
|
|
|
+ discountMoney = coupon.getPrice();
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ //公域疗法券
|
|
|
|
|
+ }else if (coupon.getCouponType().equals(6)){
|
|
|
|
|
+ if (coupon.getMinPrice().compareTo(orderPrice) >=0) {
|
|
|
|
|
+ //throw new ServiceException("优惠劵最低金额大于订单金额");
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+ if (coupon.getPrice().compareTo(orderPrice) >= 0) {
|
|
|
|
|
+ payPrice = new BigDecimal(0);
|
|
|
|
|
+ discountMoney = coupon.getPrice();
|
|
|
|
|
+ } else {
|
|
|
|
|
+ payPrice = orderPrice.subtract(coupon.getPrice());
|
|
|
|
|
+ discountMoney = coupon.getPrice();
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ } else {
|
|
|
|
|
+ payPrice = orderPrice;
|
|
|
|
|
+ discountMoney = new BigDecimal(0);
|
|
|
|
|
+ }
|
|
|
|
|
+ //payRemain-代收金额 payDelivery-邮费 payPrice-实际支付金额 payMoney-支付金额
|
|
|
|
|
+ if (payPrice.compareTo(new BigDecimal(0)) == 1) {
|
|
|
|
|
+ if (param.getPayType().equals(1)) {
|
|
|
|
|
+ //全款
|
|
|
|
|
+ payMoney = payPrice;
|
|
|
|
|
+ payRemain = new BigDecimal(0);
|
|
|
|
|
+ payDelivery = new BigDecimal(0);
|
|
|
|
|
+
|
|
|
|
|
+ } else if (param.getPayType().equals(2)) {
|
|
|
|
|
+ //代收
|
|
|
|
|
+// payMoney = payPrice.multiply(new BigDecimal((100 - configDTO.getPayRate()))).divide(new BigDecimal(100));
|
|
|
|
|
+// payMoney = new BigDecimal(payMoney.setScale(0, BigDecimal.ROUND_HALF_UP).longValue());
|
|
|
|
|
+// payRemain = payPrice.subtract(payMoney);
|
|
|
|
|
+// payDelivery = new BigDecimal(0);
|
|
|
|
|
+// if (payRemain.compareTo(new BigDecimal(0)) == 0) {
|
|
|
|
|
+// throw new CustomException("代收金额应大于0");
|
|
|
|
|
+// }
|
|
|
|
|
+ if (("益善缘".equals(cloudHostProper.getCompanyName()))){
|
|
|
|
|
+ String key = redisCache.getCacheObject("createPackageOrderKey:" + param.getCreatePackageOrderKey());
|
|
|
|
|
+ if (StringUtils.isEmpty(key)) {
|
|
|
|
|
+ throw new CustomException("订单已过期", 501);
|
|
|
|
|
+ }
|
|
|
|
|
+ payMoney = redisCache.getCacheObject("createPackageOrderAmount:" + param.getCreatePackageOrderKey());
|
|
|
|
|
+ if (payMoney == null) {
|
|
|
|
|
+ payMoney = new BigDecimal(100);
|
|
|
|
|
+ }
|
|
|
|
|
+ } else {
|
|
|
|
|
+ payMoney = payPrice.multiply(new BigDecimal((100 - configDTO.getPayRate()))).divide(new BigDecimal(100));
|
|
|
|
|
+ payMoney = new BigDecimal(payMoney.setScale(0, BigDecimal.ROUND_HALF_UP).longValue());
|
|
|
|
|
+ }
|
|
|
|
|
+// if (sysConfig.getRetainer() != null && sysConfig.getRate() != null && sysConfig.getRate().compareTo(new BigDecimal(0)) > 0) {
|
|
|
|
|
+// if (payPrice.compareTo(new BigDecimal(100)) < 0) {
|
|
|
|
|
+// throw new CustomException("订单金额应大于等于100");
|
|
|
|
|
+// }
|
|
|
|
|
+// //有最低定金金额和提成比率
|
|
|
|
|
+// if (payPrice.compareTo(new BigDecimal(1000)) < 0) {
|
|
|
|
|
+// payMoney = new BigDecimal(100);
|
|
|
|
|
+// } else {
|
|
|
|
|
+// payMoney = payPrice.multiply(sysConfig.getRate()).divide(new BigDecimal(100));
|
|
|
|
|
+// payMoney = new BigDecimal(payMoney.setScale(0, BigDecimal.ROUND_HALF_UP).longValue());
|
|
|
|
|
+// }
|
|
|
|
|
+// } else {
|
|
|
|
|
+// payMoney = payPrice.multiply(new BigDecimal((100 - configDTO.getPayRate()))).divide(new BigDecimal(100));
|
|
|
|
|
+// payMoney = new BigDecimal(payMoney.setScale(0, BigDecimal.ROUND_HALF_UP).longValue());
|
|
|
|
|
+// }
|
|
|
|
|
+ payRemain = payPrice.subtract(payMoney);
|
|
|
|
|
+ payDelivery = new BigDecimal(0);
|
|
|
|
|
+ if (payRemain.compareTo(new BigDecimal(0)) == 0) {
|
|
|
|
|
+ throw new CustomException("代收金额应大于0");
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ } else if (param.getPayType().equals(3)) {
|
|
|
|
|
+ //货到付款
|
|
|
|
|
+ payMoney = configDTO.getPayDelivery();
|
|
|
|
|
+ payPrice = payPrice.add(configDTO.getPayDelivery());
|
|
|
|
|
+ payRemain = payPrice.subtract(configDTO.getPayDelivery());
|
|
|
|
|
+ payDelivery = configDTO.getPayDelivery();
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ moneys.put("payPrice", payPrice);
|
|
|
|
|
+ moneys.put("payMoney", payMoney);
|
|
|
|
|
+ moneys.put("payRemain", payRemain);
|
|
|
|
|
+ moneys.put("payDelivery", payDelivery);
|
|
|
|
|
+ moneys.put("discountMoney", discountMoney);
|
|
|
|
|
+ List<StoreOrderProductDTO> gifts=new ArrayList<>();
|
|
|
|
|
+ if(configDTO.getGiftStoreId()!=null&¶m.getStoreId()!=null&&configDTO.getGiftStoreId().equals(param.getStoreId())&¶m.getPayType()==1&¶m.getCompanyId()!=null&¶m.getCompanyUserId()!=null&¶m.getCompanyId()>0&&payPrice.compareTo(configDTO.getGiftPrice())>=0){
|
|
|
|
|
+ gifts=configDTO.getGift();
|
|
|
|
|
+ }
|
|
|
|
|
+ if(configDTO.getGiftStoreId()!=null&¶m.getStoreId()!=null&&configDTO.getGiftStoreId().equals(param.getStoreId())&¶m.getPayType()==2&¶m.getCompanyId()!=null&¶m.getCompanyUserId()!=null&¶m.getCompanyId()>0&&payPrice.compareTo(configDTO.getGiftPrice())>=0){
|
|
|
|
|
+ gifts=configDTO.getDeliveryGift();
|
|
|
|
|
+ }
|
|
|
|
|
+ moneys.put("gifts",gifts);
|
|
|
|
|
+ return moneys;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
}
|
|
}
|