|
@@ -10,6 +10,7 @@ import org.dromara.api.RemoteCustomerService;
|
|
|
import org.dromara.api.RemotePetService;
|
|
import org.dromara.api.RemotePetService;
|
|
|
import org.dromara.api.domain.vo.RemoteCustomerVo;
|
|
import org.dromara.api.domain.vo.RemoteCustomerVo;
|
|
|
import org.dromara.api.domain.vo.RemotePetVo;
|
|
import org.dromara.api.domain.vo.RemotePetVo;
|
|
|
|
|
+import org.dromara.common.core.constant.TenantConstants;
|
|
|
import org.dromara.common.core.exception.ServiceException;
|
|
import org.dromara.common.core.exception.ServiceException;
|
|
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
|
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
|
@@ -35,6 +36,7 @@ import org.dromara.order.mapper.SysSubOrderLogMapper;
|
|
|
import org.dromara.order.mapper.SysSubOrderMapper;
|
|
import org.dromara.order.mapper.SysSubOrderMapper;
|
|
|
import org.dromara.order.service.ISysSubOrderService;
|
|
import org.dromara.order.service.ISysSubOrderService;
|
|
|
import org.dromara.system.api.RemoteStoreService;
|
|
import org.dromara.system.api.RemoteStoreService;
|
|
|
|
|
+import org.dromara.system.api.RemoteTenantService;
|
|
|
import org.dromara.system.api.RemoteUserService;
|
|
import org.dromara.system.api.RemoteUserService;
|
|
|
import org.dromara.system.api.domain.vo.RemoteStoreVo;
|
|
import org.dromara.system.api.domain.vo.RemoteStoreVo;
|
|
|
import org.dromara.system.api.domain.vo.RemoteUserVo;
|
|
import org.dromara.system.api.domain.vo.RemoteUserVo;
|
|
@@ -63,6 +65,8 @@ public class SysSubOrderServiceImpl implements ISysSubOrderService {
|
|
|
private final RemoteStoreService remoteStoreService;
|
|
private final RemoteStoreService remoteStoreService;
|
|
|
@DubboReference
|
|
@DubboReference
|
|
|
private final RemoteFulfillerService remoteFulfillerService;
|
|
private final RemoteFulfillerService remoteFulfillerService;
|
|
|
|
|
+ @DubboReference
|
|
|
|
|
+ private final RemoteTenantService remoteTenantService;
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public TableDataInfo<SysSubOrderListPageVo> list(SysSubOrderListPageBo bo, PageQuery pageQuery) {
|
|
public TableDataInfo<SysSubOrderListPageVo> list(SysSubOrderListPageBo bo, PageQuery pageQuery) {
|
|
@@ -70,6 +74,8 @@ public class SysSubOrderServiceImpl implements ISysSubOrderService {
|
|
|
LambdaQueryWrapper<SysOrder> orderWrapper = Wrappers.lambdaQuery(SysOrder.class);
|
|
LambdaQueryWrapper<SysOrder> orderWrapper = Wrappers.lambdaQuery(SysOrder.class);
|
|
|
|
|
|
|
|
if (StringUtils.isNotBlank(bo.getContent())) {
|
|
if (StringUtils.isNotBlank(bo.getContent())) {
|
|
|
|
|
+ List<String> tenantIds = remoteTenantService.selectTenantIdsByName(bo.getContent());
|
|
|
|
|
+ orderWrapper.in(SysOrder::getStore, tenantIds.isEmpty() ? TenantConstants.DEFAULT_TENANT_ID : tenantIds);
|
|
|
List<Long> userIds = remoteUserService.selectUserIdsByName(bo.getContent());
|
|
List<Long> userIds = remoteUserService.selectUserIdsByName(bo.getContent());
|
|
|
orderWrapper.in(SysOrder::getOrderPlacer, WrapperUtils.convertIds(userIds));
|
|
orderWrapper.in(SysOrder::getOrderPlacer, WrapperUtils.convertIds(userIds));
|
|
|
List<Long> customerIds = remoteCustomerService.selectIdsByName(bo.getContent());
|
|
List<Long> customerIds = remoteCustomerService.selectIdsByName(bo.getContent());
|
|
@@ -113,6 +119,7 @@ public class SysSubOrderServiceImpl implements ISysSubOrderService {
|
|
|
vo.setId(e.getId());
|
|
vo.setId(e.getId());
|
|
|
vo.setCode(e.getCode());
|
|
vo.setCode(e.getCode());
|
|
|
vo.setService(e.getService());
|
|
vo.setService(e.getService());
|
|
|
|
|
+ vo.setServiceTime(e.getServiceTime());
|
|
|
vo.setMode(e.getMode());
|
|
vo.setMode(e.getMode());
|
|
|
vo.setType(e.getType());
|
|
vo.setType(e.getType());
|
|
|
vo.setPet(e.getUsrPet());
|
|
vo.setPet(e.getUsrPet());
|
|
@@ -134,7 +141,10 @@ public class SysSubOrderServiceImpl implements ISysSubOrderService {
|
|
|
vo.setStatus(e.getStatus());
|
|
vo.setStatus(e.getStatus());
|
|
|
vo.setFulfiller(e.getFulfiller());
|
|
vo.setFulfiller(e.getFulfiller());
|
|
|
RemoteFulfillerVo fulfiller = fulfillerMap.get(e.getFulfiller());
|
|
RemoteFulfillerVo fulfiller = fulfillerMap.get(e.getFulfiller());
|
|
|
- vo.setFulfillerName(fulfiller != null ? fulfiller.getName() : null);
|
|
|
|
|
|
|
+ if (fulfiller != null) {
|
|
|
|
|
+ vo.setFulfillerName(fulfiller.getName());
|
|
|
|
|
+ vo.setFulfillerStatus(fulfiller.getStatus());
|
|
|
|
|
+ }
|
|
|
vo.setPrice(e.getPrice());
|
|
vo.setPrice(e.getPrice());
|
|
|
return vo;
|
|
return vo;
|
|
|
}));
|
|
}));
|
|
@@ -186,4 +196,87 @@ public class SysSubOrderServiceImpl implements ISysSubOrderService {
|
|
|
public SysSubOrderVo getInfo(Long id) {
|
|
public SysSubOrderVo getInfo(Long id) {
|
|
|
return baseMapper.selectVoById(id);
|
|
return baseMapper.selectVoById(id);
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public TableDataInfo<SysSubOrderListPageVo> listOnMerchant(SysSubOrderListPageBo bo, PageQuery pageQuery) {
|
|
|
|
|
+
|
|
|
|
|
+ LambdaQueryWrapper<SysOrder> orderWrapper = Wrappers.lambdaQuery(SysOrder.class);
|
|
|
|
|
+
|
|
|
|
|
+ if (StringUtils.isNotBlank(bo.getContent())) {
|
|
|
|
|
+ List<Long> storeIds = remoteStoreService.selectIdsByName(bo.getContent());
|
|
|
|
|
+ orderWrapper.in(SysOrder::getStore, WrapperUtils.convertIds(storeIds));
|
|
|
|
|
+ List<Long> userIds = remoteUserService.selectUserIdsByName(bo.getContent());
|
|
|
|
|
+ orderWrapper.in(SysOrder::getOrderPlacer, WrapperUtils.convertIds(userIds));
|
|
|
|
|
+ List<Long> customerIds = remoteCustomerService.selectIdsByName(bo.getContent());
|
|
|
|
|
+ orderWrapper.in(SysOrder::getUsrCustomer, WrapperUtils.convertIds(customerIds));
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ Page<SysSubOrder> page = baseMapper.selectPage(
|
|
|
|
|
+ pageQuery.build(),
|
|
|
|
|
+ Wrappers.lambdaQuery(SysSubOrder.class).orderByDesc(SysSubOrder::getId)
|
|
|
|
|
+ .eq(bo.getStatus() != null, SysSubOrder::getStatus, bo.getStatus())
|
|
|
|
|
+ .eq(bo.getService() != null, SysSubOrder::getService, bo.getService())
|
|
|
|
|
+ );
|
|
|
|
|
+
|
|
|
|
|
+ List<Long> petIds = new ArrayList<>();
|
|
|
|
|
+ List<Long> storeIds = new ArrayList<>();
|
|
|
|
|
+ List<Long> customerIds = new ArrayList<>();
|
|
|
|
|
+ List<Long> userIds = new ArrayList<>();
|
|
|
|
|
+ List<Long> fulfillerIds = new ArrayList<>();
|
|
|
|
|
+ page.getRecords().forEach(e -> {
|
|
|
|
|
+ petIds.add(e.getUsrPet());
|
|
|
|
|
+ customerIds.add(e.getUsrCustomer());
|
|
|
|
|
+ storeIds.add(e.getStore());
|
|
|
|
|
+ userIds.add(e.getOrderPlacer());
|
|
|
|
|
+ if (e.getFulfiller() != null) {
|
|
|
|
|
+ fulfillerIds.add(e.getFulfiller());
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ Map<Long, RemotePetVo> petMap = new HashMap<>();
|
|
|
|
|
+ Map<Long, RemoteStoreVo> storeMap = new HashMap<>();
|
|
|
|
|
+ Map<Long, RemoteCustomerVo> customerMap = new HashMap<>();
|
|
|
|
|
+ Map<Long, RemoteUserVo> userMap = new HashMap<>();
|
|
|
|
|
+ Map<Long, RemoteFulfillerVo> fulfillerMap = new HashMap<>();
|
|
|
|
|
+ remotePetService.getByIds(petIds).forEach(e -> petMap.put(e.getId(), e));
|
|
|
|
|
+ remoteStoreService.getByIds(storeIds).forEach(e -> storeMap.put(e.getId(), e));
|
|
|
|
|
+ remoteUserService.getByIds(userIds).forEach(e -> userMap.put(e.getUserId(), e));
|
|
|
|
|
+ remoteCustomerService.getByIds(customerIds).forEach(e -> customerMap.put(e.getId(), e));
|
|
|
|
|
+ remoteFulfillerService.getByIds(fulfillerIds).forEach(e -> fulfillerMap.put(e.getId(), e));
|
|
|
|
|
+
|
|
|
|
|
+ return TableDataInfo.build(page.convert(e -> {
|
|
|
|
|
+ SysSubOrderListPageVo vo = new SysSubOrderListPageVo();
|
|
|
|
|
+ vo.setId(e.getId());
|
|
|
|
|
+ vo.setCode(e.getCode());
|
|
|
|
|
+ vo.setService(e.getService());
|
|
|
|
|
+ vo.setServiceTime(e.getServiceTime());
|
|
|
|
|
+ vo.setMode(e.getMode());
|
|
|
|
|
+ vo.setType(e.getType());
|
|
|
|
|
+ vo.setPet(e.getUsrPet());
|
|
|
|
|
+ RemotePetVo pet = petMap.get(e.getUsrPet());
|
|
|
|
|
+ vo.setPetName(pet.getName());
|
|
|
|
|
+ vo.setPetBreed(pet.getBreed());
|
|
|
|
|
+ vo.setCustomer(e.getUsrCustomer());
|
|
|
|
|
+ RemoteCustomerVo customer = customerMap.get(e.getUsrCustomer());
|
|
|
|
|
+ vo.setCustomerName(customer.getName());
|
|
|
|
|
+ vo.setToAddress(e.getToAddress());
|
|
|
|
|
+ vo.setSite(e.getStoreSite());
|
|
|
|
|
+ vo.setStore(e.getStore());
|
|
|
|
|
+ RemoteStoreVo store = storeMap.get(e.getStore());
|
|
|
|
|
+ vo.setStoreName(store.getName());
|
|
|
|
|
+ vo.setPlacer(e.getOrderPlacer());
|
|
|
|
|
+ RemoteUserVo placer = userMap.get(e.getOrderPlacer());
|
|
|
|
|
+ vo.setPlacerUsername(placer.getUserName());
|
|
|
|
|
+ vo.setCreateTime(e.getCreateTime());
|
|
|
|
|
+ vo.setStatus(e.getStatus());
|
|
|
|
|
+ vo.setFulfiller(e.getFulfiller());
|
|
|
|
|
+ RemoteFulfillerVo fulfiller = fulfillerMap.get(e.getFulfiller());
|
|
|
|
|
+ if (fulfiller != null) {
|
|
|
|
|
+ vo.setFulfillerName(fulfiller.getName());
|
|
|
|
|
+ vo.setFulfillerStatus(fulfiller.getStatus());
|
|
|
|
|
+ }
|
|
|
|
|
+ vo.setPrice(e.getPrice());
|
|
|
|
|
+ return vo;
|
|
|
|
|
+ }));
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|