|
|
@@ -80,6 +80,7 @@ import org.springblade.salesPart.order.mapper.OrderMapper;
|
|
|
import org.springblade.salesPart.order.service.IOrderItemsService;
|
|
|
import org.springblade.salesPart.order.service.IOrderRecordService;
|
|
|
import org.springblade.salesPart.order.service.IOrderService;
|
|
|
+import org.springblade.salesPart.order.service.IPjIntegralDetailService;
|
|
|
import org.springblade.salesPart.payMethod.PayService;
|
|
|
import org.springblade.salesPart.productLaunch.service.IProductLaunchService;
|
|
|
import org.springblade.salesPart.serial.service.IPjpfSerialService;
|
|
|
@@ -144,7 +145,6 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
private final ShipMapper shipMapper;
|
|
|
private final IShipItemsService shipItemsService;
|
|
|
private final CorpsDescMapper corpsDescMapper;
|
|
|
- private final CorpsAttnMapper corpsAttnMapper;//客户联系人
|
|
|
private final StorageDescMapper storageDescMapper;
|
|
|
private final GoodsTypeMapper goodsTypeMapper;
|
|
|
private final IStockDescService stockDescService;
|
|
|
@@ -156,7 +156,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
private final ISettlementItemsService settlementItemsService;
|
|
|
private final SettlementMapper settlementMapper;
|
|
|
private final IPaymentClient paymentClient;
|
|
|
- private final IIntegralDetailClient iIntegralDetailClient;
|
|
|
+ private final IPjIntegralDetailService integralDetailService;
|
|
|
//消息
|
|
|
private final IMessageClient messageClient;
|
|
|
/**
|
|
|
@@ -719,7 +719,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
if (order.getId() == null || ObjectUtils.isNotNull(order.getCustomerId())) {
|
|
|
throw new RuntimeException("缺少必要参数");
|
|
|
}
|
|
|
- PjCorpsDesc corpsDesc = corpsDescMapper.selectById(order.getCustomerId());
|
|
|
+ /*PjCorpsDesc corpsDesc = corpsDescMapper.selectById(order.getCustomerId());
|
|
|
if (corpsDesc == null) {
|
|
|
throw new RuntimeException("未查到客户信息");
|
|
|
}
|
|
|
@@ -760,7 +760,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
corpsDesc.setPointsBalance(corpsDesc.getPointsBalance().add(goodsDesc.getIntegral().multiply(item.getGoodsNum())));
|
|
|
}
|
|
|
}
|
|
|
- IntegralDetail integralDetail = new IntegralDetail();
|
|
|
+ PjIntegralDetail integralDetail = new PjIntegralDetail();
|
|
|
integralDetail.setCreateTime(new Date());
|
|
|
integralDetail.setCreateUserName(AuthUtil.getUserName());
|
|
|
integralDetail.setCreateUser(AuthUtil.getUserId());
|
|
|
@@ -778,7 +778,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
if (goodsId.length() > 0) {
|
|
|
integralDetail.setGoodsId(goodsId.substring(0, goodsId.length() - 1));
|
|
|
}
|
|
|
- iIntegralDetailClient.submit(integralDetail);
|
|
|
+ integralDetailService.saveOrUpdate(integralDetail);
|
|
|
}
|
|
|
if (reference != null) {
|
|
|
corpsDescMapper.updateById(reference);
|
|
|
@@ -786,158 +786,12 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
if (user != null) {
|
|
|
userClient.updateUser(user);
|
|
|
}
|
|
|
- corpsDescMapper.updateById(corpsDesc);
|
|
|
+ corpsDescMapper.updateById(corpsDesc);*/
|
|
|
baseMapper.updateById(order);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
-
|
|
|
- public R integralExchange(PjProductLaunch productLaunch) {
|
|
|
- PjOrder order = new PjOrder();
|
|
|
- order.setBsType("XS");
|
|
|
- PjCorpsDesc corpsDesc = null;
|
|
|
- //根据当前登录人获得客户
|
|
|
- PjCorpsAttn corpsAttn = corpsAttnMapper.selectOne(new LambdaQueryWrapper<PjCorpsAttn>()
|
|
|
- .eq(PjCorpsAttn::getIsDeleted, 0)
|
|
|
- .eq(PjCorpsAttn::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(PjCorpsAttn::getUserId, AuthUtil.getUserId()));
|
|
|
- if (ObjectUtil.isNotEmpty(corpsAttn)) {
|
|
|
- corpsDesc = corpsDescMapper.selectById(corpsAttn.getPid());
|
|
|
- if (ObjectUtil.isEmpty(corpsDesc)) {
|
|
|
- throw new RuntimeException("未查到用户信息");
|
|
|
- }
|
|
|
- } else {
|
|
|
- throw new RuntimeException("未查到用户信息");
|
|
|
- }
|
|
|
- //客户名称
|
|
|
- order.setCustomerName(corpsDesc.getCname());
|
|
|
-
|
|
|
- // 获取系统编号
|
|
|
- String billNo = serialService.getBillNo(order.getBsType(), order.getBsType(), order.getBsType());
|
|
|
- if (ObjectUtils.isNull(billNo)) {
|
|
|
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
|
- return R.fail(500, "生成系统编号失败");
|
|
|
- }
|
|
|
- if (order.getId() == null) {
|
|
|
- if (ObjectUtils.isNull(order.getBillType())) {
|
|
|
- if (ObjectUtils.isNotNull(order.getStorageId())) {
|
|
|
- order.setBillType(0);
|
|
|
- //仓库名称
|
|
|
- order.setStorageName(storageDescMapper.selectById(order.getStorageId()).getCname());
|
|
|
- } else {
|
|
|
- order.setBillType(1);
|
|
|
- }
|
|
|
- }
|
|
|
- order.setWhetherIntegral("1");
|
|
|
- order.setBusinessSource("外部销售");
|
|
|
- order.setOrdNo(billNo);
|
|
|
- order.setSrcOrdNo(billNo);
|
|
|
- order.setCreateTime(new Date());
|
|
|
- order.setCreateUser(AuthUtil.getUserId());
|
|
|
- order.setCreateDept(Long.valueOf(AuthUtil.getDeptId()));
|
|
|
- order.setTenantId(AuthUtil.getTenantId());
|
|
|
- order.setStatus(OrderTypeEnum.XSLR.getType());
|
|
|
- order.setBusinessSource(OrderTypeEnum.WEB.getType());
|
|
|
- order.setActualPaymentStatus(2);
|
|
|
- baseMapper.insert(order);
|
|
|
- } else {
|
|
|
- order.setUpdateUser(AuthUtil.getUserId());
|
|
|
- order.setUpdateTime(new Date());
|
|
|
- baseMapper.updateById(order);
|
|
|
- }
|
|
|
- // 保存订单明细
|
|
|
- //所属公司
|
|
|
- R<Dept> dept = sysClient.getDept(Long.valueOf(AuthUtil.getDeptId()));
|
|
|
- if (ObjectUtil.isNotEmpty(dept)) {
|
|
|
- order.setSalesCompanyId(dept.getData().getId());
|
|
|
- order.setSalesCompanyName(dept.getData().getFullName());
|
|
|
- if (ObjectUtils.isNotNull(order.getBillType()) && 1 != order.getBillType()) {
|
|
|
- order.setSharedCompanyId(dept.getData().getId());
|
|
|
- order.setSharedCompanyName(dept.getData().getFullName());
|
|
|
- } else {
|
|
|
- order.setSharedCompanyId(order.getSharedCompanyId());
|
|
|
- order.setSharedCompanyName(order.getSharedCompanyName());
|
|
|
- }
|
|
|
- } else {
|
|
|
- throw new SecurityException("未维护所属公司");
|
|
|
- }
|
|
|
- if (productLaunch != null) {
|
|
|
- PjOrderItems item = new PjOrderItems();
|
|
|
- item.setBizType(order.getBsType());
|
|
|
- item.setBillNo(order.getOrdNo());
|
|
|
-
|
|
|
- //商品名称
|
|
|
- PjGoodsDesc goodsDesc = goodsDescMapper.selectById(productLaunch.getGoodsId());
|
|
|
- item.setGoodsId(productLaunch.getGoodsId());
|
|
|
- item.setGoodsName(goodsDesc.getCname());
|
|
|
- item.setGoodsNo(goodsDesc.getCode());
|
|
|
- item.setPropertyName(goodsDesc.getSpecificationAndModel());
|
|
|
- item.setPattern(goodsDesc.getBrandItem());
|
|
|
- item.setGoodsDescription(goodsDesc.getGoodsDescription());
|
|
|
- item.setUnits(goodsDesc.getUnit());
|
|
|
- item.setBrandId(goodsDesc.getBrandId());
|
|
|
- item.setBrandName(goodsDesc.getBrandName());
|
|
|
-
|
|
|
- item.setGoodsNum(productLaunch.getGoodsNum());
|
|
|
- item.setSalesCompanyId(productLaunch.getSalesCompanyId());
|
|
|
- item.setSalesCompanyName(productLaunch.getSalesCompanyName());
|
|
|
- item.setPrice(productLaunch.getMallPrice());
|
|
|
- item.setProductLaunchId(productLaunch.getId());
|
|
|
- item.setInventory(productLaunch.getInventory());
|
|
|
- item.setTenantId(AuthUtil.getTenantId());
|
|
|
- //计算小计
|
|
|
- item.setSubTotalMoney(item.getGoodsNum().multiply(item.getPrice()).setScale(2, RoundingMode.HALF_UP));
|
|
|
- if (item.getId() == null) {
|
|
|
- item.setCreateDept(Long.valueOf(AuthUtil.getDeptId()));
|
|
|
- item.setCreateTime(new Date());
|
|
|
- item.setCreateUser(AuthUtil.getUserId());
|
|
|
- item.setPid(order.getId());
|
|
|
- item.setTenantId(AuthUtil.getTenantId());
|
|
|
- } else {
|
|
|
- item.setUpdateTime(new Date());
|
|
|
- item.setUpdateUser(AuthUtil.getUserId());
|
|
|
- item.setPid(order.getId());
|
|
|
- }
|
|
|
- orderItemsService.saveOrUpdate(item);
|
|
|
- order.setGoodsNameJoin(goodsDesc.getCname());
|
|
|
- order.setShortcutJoin(goodsDesc.getIntegral() + "");
|
|
|
- BigDecimal totalMoney = item.getSubTotalMoney();
|
|
|
- order.setNumberRows(1);//行数
|
|
|
- //总数量
|
|
|
- order.setGoodsTotalNum(productLaunch.getGoodsNum());
|
|
|
- //总已发数量
|
|
|
- order.setGoodsTotalShipNum(new BigDecimal("0"));
|
|
|
- if (totalMoney.compareTo(corpsDesc.getPointsBalance()) > 0) {
|
|
|
- throw new RuntimeException("积分余额不足,兑换失败");
|
|
|
- } else {
|
|
|
- corpsDesc.setPointsBalance(corpsDesc.getPointsBalance().subtract(totalMoney));
|
|
|
- }
|
|
|
- order.setSalesAmount(totalMoney);
|
|
|
- order.setTotalMoney(totalMoney);
|
|
|
- IntegralDetail integralDetail = new IntegralDetail();
|
|
|
- integralDetail.setCreateTime(new Date());
|
|
|
- integralDetail.setCreateUserName(AuthUtil.getUserName());
|
|
|
- integralDetail.setCreateUser(AuthUtil.getUserId());
|
|
|
- integralDetail.setType("积分兑换");
|
|
|
- integralDetail.setSrcId(order.getId());
|
|
|
- integralDetail.setSrcNo(order.getOrdNo());
|
|
|
- integralDetail.setCorpId(corpsDesc.getId());
|
|
|
- integralDetail.setCorpName(corpsDesc.getCname());
|
|
|
- integralDetail.setIntegral(order.getTotalMoney());
|
|
|
- integralDetail.setGoodsName(order.getGoodsNameJoin());
|
|
|
- integralDetail.setGoodsId(goodsDesc.getId() + "");
|
|
|
- iIntegralDetailClient.submit(integralDetail);
|
|
|
- corpsDescMapper.updateById(corpsDesc);
|
|
|
- baseMapper.updateById(order);
|
|
|
- } else {
|
|
|
- throw new RuntimeException("缺少必要参数");
|
|
|
- }
|
|
|
- return R.data(order);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- @Transactional(rollbackFor = Exception.class)
|
|
|
public R shortcutWarehousing(PjOrder order) {
|
|
|
PjOrder pjOrder = baseMapper.selectById(order.getId());
|
|
|
pjOrder.setVersion(pjOrder.getVersion() + 1);
|
|
|
@@ -3867,6 +3721,132 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
return baseMapper.selectPjOrderList(tenantId, type);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public R confirmShipment(PjOrder order) {
|
|
|
+ if (!OrderTypeEnum.XCX.getType().equals(order.getBusinessSource())) {
|
|
|
+ PjCorpsDesc corpsDesc = corpsDescMapper.selectById(order.getCustomerId());
|
|
|
+ if (corpsDesc == null) {
|
|
|
+ throw new RuntimeException("未查到客户信息");
|
|
|
+ }
|
|
|
+ if (order.getTotalMoney().compareTo(corpsDesc.getPointsBalance()) > 0) {
|
|
|
+ throw new RuntimeException("积分余额不足");
|
|
|
+ } else {
|
|
|
+ corpsDesc.setPointsBalance(corpsDesc.getPointsBalance().subtract(order.getTotalMoney()));
|
|
|
+ corpsDescMapper.updateById(corpsDesc);
|
|
|
+ PjIntegralDetail integralDetail = new PjIntegralDetail();
|
|
|
+ integralDetail.setSrcId(order.getId());
|
|
|
+ integralDetail.setSrcNo(order.getOrdNo());
|
|
|
+ integralDetail.setCreateTime(new Date());
|
|
|
+ integralDetail.setIntegral(order.getTotalMoney());
|
|
|
+ integralDetail.setCorpId(order.getCustomerId());
|
|
|
+ integralDetail.setCorpName(order.getCustomerName());
|
|
|
+ integralDetail.setType("积分兑换");
|
|
|
+ integralDetail.setTenantId(order.getTenantId());
|
|
|
+ integralDetail.setGoodsName(order.getGoodsNameJoin());
|
|
|
+ integralDetailService.saveOrUpdate(integralDetail);
|
|
|
+ }
|
|
|
+ if (CollectionUtils.isNotEmpty(order.getOrderItemsList())) {
|
|
|
+ List<Long> goodsId = order.getOrderItemsList().stream().map(PjOrderItems::getGoodsId).distinct().collect(Collectors.toList());
|
|
|
+ List<PjOrderItems> itemsList = new ArrayList<>();
|
|
|
+ List<PjProductLaunch> pjProductLaunchs = new ArrayList<>();
|
|
|
+ LambdaQueryWrapper<PjProductLaunch> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ lambdaQueryWrapper.eq(PjProductLaunch::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(PjProductLaunch::getIsDeleted, 0)
|
|
|
+ .eq(PjProductLaunch::getWhetherIntegral, 1)
|
|
|
+ .in(PjProductLaunch::getGoodsId, goodsId);
|
|
|
+ List<PjProductLaunch> pjProductLaunchList = productLaunchService.list(lambdaQueryWrapper);
|
|
|
+ if (pjProductLaunchList.isEmpty()) {
|
|
|
+ throw new RuntimeException("未查到商品对应上架库存");
|
|
|
+ }
|
|
|
+ for (PjOrderItems item : order.getOrderItemsList()) {
|
|
|
+ PjProductLaunch productLaunch = pjProductLaunchList.stream().filter(e -> e.getGoodsId().equals(item.getGoodsId()))
|
|
|
+ .findFirst().orElse(null);
|
|
|
+ if (productLaunch != null) {
|
|
|
+ if (productLaunch.getInventory().compareTo(item.getGoodsNum()) < 0) {
|
|
|
+ throw new RuntimeException("商品:" + item.getGoodsName() + "上架库存不足");
|
|
|
+ } else {
|
|
|
+ item.setSendNum(item.getGoodsNum());
|
|
|
+ productLaunch.setInventory(productLaunch.getInventory().subtract(item.getGoodsNum()));
|
|
|
+ itemsList.add(item);
|
|
|
+ pjProductLaunchs.add(productLaunch);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ throw new RuntimeException("未查到商品:" + item.getGoodsName() + "上架库存");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ orderItemsService.saveOrUpdateBatch(itemsList);
|
|
|
+ productLaunchService.saveOrUpdateBatch(pjProductLaunchs);
|
|
|
+ } else {
|
|
|
+ throw new RuntimeException("明细不能为空");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ order.setStatus("已发货");
|
|
|
+ order.setUpdateTime(new Date());
|
|
|
+ order.setUpdateUserName(AuthUtil.getUserName());
|
|
|
+ order.setUpdateUser(AuthUtil.getUserId());
|
|
|
+ baseMapper.updateById(order);
|
|
|
+ return R.data(order);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public R cancelShipment(PjOrder order) {
|
|
|
+ PjCorpsDesc corpsDesc = corpsDescMapper.selectById(order.getCustomerId());
|
|
|
+ if (corpsDesc == null) {
|
|
|
+ throw new RuntimeException("未查到客户信息");
|
|
|
+ }
|
|
|
+ corpsDesc.setPointsBalance(corpsDesc.getPointsBalance().add(order.getTotalMoney()));
|
|
|
+ corpsDescMapper.updateById(corpsDesc);
|
|
|
+ PjIntegralDetail integralDetail = new PjIntegralDetail();
|
|
|
+ integralDetail.setSrcId(order.getId());
|
|
|
+ integralDetail.setSrcNo(order.getOrdNo());
|
|
|
+ integralDetail.setCreateTime(new Date());
|
|
|
+ integralDetail.setIntegral(order.getTotalMoney());
|
|
|
+ integralDetail.setCorpId(order.getCustomerId());
|
|
|
+ integralDetail.setCorpName(order.getCustomerName());
|
|
|
+ integralDetail.setType("撤销兑换");
|
|
|
+ integralDetail.setTenantId(order.getTenantId());
|
|
|
+ integralDetail.setGoodsName(order.getGoodsNameJoin());
|
|
|
+ integralDetailService.saveOrUpdate(integralDetail);
|
|
|
+ if (CollectionUtils.isNotEmpty(order.getOrderItemsList())) {
|
|
|
+ List<Long> goodsId = order.getOrderItemsList().stream().map(PjOrderItems::getGoodsId).distinct().collect(Collectors.toList());
|
|
|
+ List<PjOrderItems> itemsList = new ArrayList<>();
|
|
|
+ List<PjProductLaunch> pjProductLaunchs = new ArrayList<>();
|
|
|
+ LambdaQueryWrapper<PjProductLaunch> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ lambdaQueryWrapper.eq(PjProductLaunch::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(PjProductLaunch::getIsDeleted, 0)
|
|
|
+ .eq(PjProductLaunch::getWhetherIntegral, 1)
|
|
|
+ .in(PjProductLaunch::getGoodsId, goodsId);
|
|
|
+ List<PjProductLaunch> pjProductLaunchList = productLaunchService.list(lambdaQueryWrapper);
|
|
|
+ if (pjProductLaunchList.isEmpty()) {
|
|
|
+ throw new RuntimeException("未查到商品对应上架库存");
|
|
|
+ }
|
|
|
+ for (PjOrderItems item : order.getOrderItemsList()) {
|
|
|
+ PjProductLaunch productLaunch = pjProductLaunchList.stream().filter(e -> e.getGoodsId().equals(item.getGoodsId()))
|
|
|
+ .findFirst().orElse(null);
|
|
|
+ if (productLaunch != null) {
|
|
|
+ item.setSendNum(new BigDecimal("0"));
|
|
|
+ productLaunch.setInventory(productLaunch.getInventory().add(item.getGoodsNum()));
|
|
|
+ itemsList.add(item);
|
|
|
+ pjProductLaunchs.add(productLaunch);
|
|
|
+ } else {
|
|
|
+ throw new RuntimeException("未查到商品:" + item.getGoodsName() + "上架库存");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ orderItemsService.saveOrUpdateBatch(itemsList);
|
|
|
+ productLaunchService.saveOrUpdateBatch(pjProductLaunchs);
|
|
|
+ } else {
|
|
|
+ throw new RuntimeException("明细不能为空");
|
|
|
+ }
|
|
|
+ order.setStatus("已取消");
|
|
|
+ order.setUpdateTime(new Date());
|
|
|
+ order.setUpdateUserName(AuthUtil.getUserName());
|
|
|
+ order.setUpdateUser(AuthUtil.getUserId());
|
|
|
+ baseMapper.updateById(order);
|
|
|
+ return R.data(order);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 保存订单信息
|
|
|
*/
|
|
|
@@ -4437,7 +4417,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
}
|
|
|
order.setActualPaymentStatus(3);
|
|
|
order.setPaymentAmountTl(order.getTotalMoney());
|
|
|
- }else if (order.getBsType().equals(OrderTypeEnum.POINTS.getType())) {//积分
|
|
|
+ } else if (order.getBsType().equals(OrderTypeEnum.POINTS.getType())) {//积分
|
|
|
if (order.getId() == null) {
|
|
|
if (ObjectUtils.isNull(order.getBillType())) {
|
|
|
if (ObjectUtils.isNotNull(order.getStorageId())) {
|
|
|
@@ -5557,11 +5537,11 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
throw new RuntimeException("退款失败!服务器错误");
|
|
|
}
|
|
|
order.setActualPaymentStatus(4);
|
|
|
- IntegralDetail integralDetail = new IntegralDetail();
|
|
|
+ PjIntegralDetail integralDetail = new PjIntegralDetail();
|
|
|
integralDetail.setCreateTime(new Date());
|
|
|
integralDetail.setCreateUserName(AuthUtil.getUserName());
|
|
|
integralDetail.setCreateUser(AuthUtil.getUserId());
|
|
|
- integralDetail.setType("退款退货");
|
|
|
+ integralDetail.setType("积分退回");
|
|
|
integralDetail.setSrcId(order.getId());
|
|
|
integralDetail.setSrcNo(order.getOrdNo());
|
|
|
integralDetail.setCorpId(order.getCustomerId());
|
|
|
@@ -5575,7 +5555,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
if (goodsId.length() > 0) {
|
|
|
integralDetail.setGoodsId(goodsId.substring(0, goodsId.length() - 1));
|
|
|
}
|
|
|
- iIntegralDetailClient.submit(integralDetail);
|
|
|
+ integralDetailService.saveOrUpdate(integralDetail);
|
|
|
}
|
|
|
}
|
|
|
} else {
|