Jelajahi Sumber

下单展示模块完成一半

Huanyi 1 bulan lalu
induk
melakukan
8dae876a9c
14 mengubah file dengan 146 tambahan dan 5 penghapusan
  1. 2 0
      ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/RemoteStoreService.java
  2. 2 0
      ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/RemoteTenantService.java
  3. 2 0
      ruoyi-api/yingpaipay-api-fulfiller/src/main/java/org/dromara/fulfiller/api/domain/vo/RemoteFulfillerVo.java
  4. 2 1
      ruoyi-common/ruoyi-common-dubbo/src/main/java/org/dromara/common/dubbo/config/CustomBeanFactoryPostProcessor.java
  5. 9 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/dubbo/RemoteStoreServiceImpl.java
  6. 17 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/dubbo/RemoteTenantServiceImpl.java
  7. 1 1
      ruoyi-modules/yingpaipay-fulfiller/src/main/java/org/dromara/fulfiller/controller/FlfFulfillerController.java
  8. 2 0
      ruoyi-modules/yingpaipay-fulfiller/src/main/java/org/dromara/fulfiller/domain/vo/FlfFulfillerOnOrderVo.java
  9. 2 1
      ruoyi-modules/yingpaipay-fulfiller/src/main/java/org/dromara/fulfiller/dubbo/RemoteFulfillerServiceImpl.java
  10. 2 1
      ruoyi-modules/yingpaipay-fulfiller/src/main/java/org/dromara/fulfiller/service/impl/FlfFulfillerServiceImpl.java
  11. 5 0
      ruoyi-modules/yingpaipay-order/src/main/java/org/dromara/order/controller/SysSubOrderController.java
  12. 4 0
      ruoyi-modules/yingpaipay-order/src/main/java/org/dromara/order/domain/vo/SysSubOrderListPageVo.java
  13. 2 0
      ruoyi-modules/yingpaipay-order/src/main/java/org/dromara/order/service/ISysSubOrderService.java
  14. 94 1
      ruoyi-modules/yingpaipay-order/src/main/java/org/dromara/order/service/impl/SysSubOrderServiceImpl.java

+ 2 - 0
ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/RemoteStoreService.java

@@ -8,4 +8,6 @@ public interface RemoteStoreService {
     String getNameById(Long id);
 
     List<RemoteStoreVo> getByIds(List<Long> storeIds);
+
+    List<Long> selectIdsByName(String name);
 }

+ 2 - 0
ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/RemoteTenantService.java

@@ -26,4 +26,6 @@ public interface RemoteTenantService {
     List<RemoteTenantVo> queryList();
 
     String queryNameByTenantId(String tenantId);
+
+    List<String> selectTenantIdsByName(String name);
 }

+ 2 - 0
ruoyi-api/yingpaipay-api-fulfiller/src/main/java/org/dromara/fulfiller/api/domain/vo/RemoteFulfillerVo.java

@@ -15,4 +15,6 @@ public class RemoteFulfillerVo implements Serializable {
 
     private String name;
 
+    private String status;
+
 }

+ 2 - 1
ruoyi-common/ruoyi-common-dubbo/src/main/java/org/dromara/common/dubbo/config/CustomBeanFactoryPostProcessor.java

@@ -65,7 +65,8 @@ public class CustomBeanFactoryPostProcessor implements BeanFactoryPostProcessor,
         // 创建临时的 InetUtils 实例
         try (InetUtils inetUtils = new InetUtils(properties)) {
 //            String ip = "127.0.0.1";
-            String ip = "192.168.0.102";
+//            String ip = "192.168.0.102";
+            String ip = "192.168.1.118";
             // 获取第一个非回环地址
             InetAddress address = inetUtils.findFirstNonLoopbackAddress();
             if (address != null) {

+ 9 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/dubbo/RemoteStoreServiceImpl.java

@@ -56,4 +56,13 @@ public class RemoteStoreServiceImpl implements RemoteStoreService {
 
         return vos;
     }
+
+    @Override
+    public List<Long> selectIdsByName(String name) {
+        List<Long> ids = new ArrayList<>();
+        baseMapper.selectList(
+            Wrappers.lambdaQuery(SysStore.class).like(SysStore::getName, name)
+        ).forEach(e -> ids.add(e.getId()));
+        return ids;
+    }
 }

+ 17 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/dubbo/RemoteTenantServiceImpl.java

@@ -1,15 +1,19 @@
 package org.dromara.system.dubbo;
 
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import lombok.RequiredArgsConstructor;
 import org.apache.dubbo.config.annotation.DubboService;
 import org.dromara.common.core.utils.MapstructUtils;
 import org.dromara.system.api.RemoteTenantService;
 import org.dromara.system.api.domain.vo.RemoteTenantVo;
+import org.dromara.system.domain.SysTenant;
 import org.dromara.system.domain.bo.SysTenantBo;
 import org.dromara.system.domain.vo.SysTenantVo;
+import org.dromara.system.mapper.SysTenantMapper;
 import org.dromara.system.service.ISysTenantService;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -22,6 +26,8 @@ public class RemoteTenantServiceImpl implements RemoteTenantService {
 
     private final ISysTenantService tenantService;
 
+    private final SysTenantMapper tenantMapper;
+
     /**
      * 根据租户id获取租户详情
      *
@@ -50,4 +56,15 @@ public class RemoteTenantServiceImpl implements RemoteTenantService {
         return tenantService.queryByTenantId(tenantId).getCompanyName();
     }
 
+    @Override
+    public List<String> selectTenantIdsByName(String name) {
+        List<String> tenantIds = new ArrayList<>();
+        tenantMapper.selectList(
+            Wrappers.lambdaQuery(SysTenant.class)
+                .select(SysTenant::getTenantId)
+                .like(SysTenant::getCompanyName, name)
+        ).forEach(e -> tenantIds.add(e.getTenantId()));
+        return tenantIds;
+    }
+
 }

+ 1 - 1
ruoyi-modules/yingpaipay-fulfiller/src/main/java/org/dromara/fulfiller/controller/FlfFulfillerController.java

@@ -239,7 +239,7 @@ public class FlfFulfillerController extends BaseController {
     /**
      * 奖惩操作
      */
-    @SaCheckPermission("fulfiller:fulfiller:edit")
+//    @SaCheckPermission("fulfiller:fulfiller:edit")
     @Log(title = "履约者管理-奖惩", businessType = BusinessType.UPDATE)
     @RepeatSubmit()
     @PostMapping("/reward")

+ 2 - 0
ruoyi-modules/yingpaipay-fulfiller/src/main/java/org/dromara/fulfiller/domain/vo/FlfFulfillerOnOrderVo.java

@@ -18,6 +18,8 @@ public class FlfFulfillerOnOrderVo implements Serializable {
 
     private String avatar;
 
+    private String status;
+
     private String phone;
 
     private List<Long> tags;

+ 2 - 1
ruoyi-modules/yingpaipay-fulfiller/src/main/java/org/dromara/fulfiller/dubbo/RemoteFulfillerServiceImpl.java

@@ -79,12 +79,13 @@ public class RemoteFulfillerServiceImpl implements RemoteFulfillerService {
         List<RemoteFulfillerVo> vos = new ArrayList<>();
         fulfillerMapper.selectList(
             Wrappers.lambdaQuery(FlfFulfiller.class)
-                .select(FlfFulfiller::getId, FlfFulfiller::getName)
+                .select(FlfFulfiller::getId, FlfFulfiller::getName, FlfFulfiller::getStatus)
                 .in(FlfFulfiller::getId, fulfillerIds)
         ).forEach(e -> {
             RemoteFulfillerVo vo = new RemoteFulfillerVo();
             vo.setId(e.getId());
             vo.setName(e.getName());
+            vo.setStatus(e.getStatus());
             vos.add(vo);
         });
         return vos;

+ 2 - 1
ruoyi-modules/yingpaipay-fulfiller/src/main/java/org/dromara/fulfiller/service/impl/FlfFulfillerServiceImpl.java

@@ -579,7 +579,7 @@ public class FlfFulfillerServiceImpl implements IFlfFulfillerService {
         Page<FlfFulfiller> page = baseMapper.selectPage(
             pageQuery.build(),
             Wrappers.lambdaQuery(FlfFulfiller.class)
-                .select(FlfFulfiller::getId, FlfFulfiller::getAvatar, FlfFulfiller::getPhone, FlfFulfiller::getName)
+                .select(FlfFulfiller::getId, FlfFulfiller::getAvatar, FlfFulfiller::getPhone, FlfFulfiller::getName, FlfFulfiller::getStatus)
                 .orderByDesc(FlfFulfiller::getId)
                 .and(StringUtils.isNotBlank(content), wrapper -> wrapper
                     .like(FlfFulfiller::getName, content).or().like(FlfFulfiller::getPhone, content)
@@ -614,6 +614,7 @@ public class FlfFulfillerServiceImpl implements IFlfFulfillerService {
             );
             vo.setPhone(e.getPhone());
             vo.setTags(tagMap.get(e.getId()));
+            vo.setStatus(e.getStatus());
             return vo;
         }));
     }

+ 5 - 0
ruoyi-modules/yingpaipay-order/src/main/java/org/dromara/order/controller/SysSubOrderController.java

@@ -26,6 +26,11 @@ public class SysSubOrderController extends BaseController {
         return subOrderService.list(bo, pageQuery);
     }
 
+    @GetMapping("/listOnMerchant")
+    public TableDataInfo<SysSubOrderListPageVo> listOnMerchant(SysSubOrderListPageBo bo, PageQuery pageQuery) {
+        return subOrderService.listOnMerchant(bo, pageQuery);
+    }
+
     @GetMapping("/getInfo")
     public R<SysSubOrderVo> getInfo(@RequestParam Long id) {
         return R.ok(subOrderService.getInfo(id));

+ 4 - 0
ruoyi-modules/yingpaipay-order/src/main/java/org/dromara/order/domain/vo/SysSubOrderListPageVo.java

@@ -20,6 +20,8 @@ public class SysSubOrderListPageVo implements Serializable {
 
     private Long service;
 
+    private Date serviceTime;
+
     private String toAddress;
 
     private Integer mode;
@@ -57,6 +59,8 @@ public class SysSubOrderListPageVo implements Serializable {
 
     private String fulfillerName;
 
+    private String fulfillerStatus;
+
     private Long price;
 
 }

+ 2 - 0
ruoyi-modules/yingpaipay-order/src/main/java/org/dromara/order/service/ISysSubOrderService.java

@@ -16,4 +16,6 @@ public interface ISysSubOrderService {
     boolean cancel(SysSubOrderCancelBo bo);
 
     SysSubOrderVo getInfo(Long id);
+
+    TableDataInfo<SysSubOrderListPageVo> listOnMerchant(SysSubOrderListPageBo bo, PageQuery pageQuery);
 }

+ 94 - 1
ruoyi-modules/yingpaipay-order/src/main/java/org/dromara/order/service/impl/SysSubOrderServiceImpl.java

@@ -10,6 +10,7 @@ import org.dromara.api.RemoteCustomerService;
 import org.dromara.api.RemotePetService;
 import org.dromara.api.domain.vo.RemoteCustomerVo;
 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.mybatis.core.page.PageQuery;
 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.service.ISysSubOrderService;
 import org.dromara.system.api.RemoteStoreService;
+import org.dromara.system.api.RemoteTenantService;
 import org.dromara.system.api.RemoteUserService;
 import org.dromara.system.api.domain.vo.RemoteStoreVo;
 import org.dromara.system.api.domain.vo.RemoteUserVo;
@@ -63,6 +65,8 @@ public class SysSubOrderServiceImpl implements ISysSubOrderService {
     private final RemoteStoreService remoteStoreService;
     @DubboReference
     private final RemoteFulfillerService remoteFulfillerService;
+    @DubboReference
+    private final RemoteTenantService remoteTenantService;
 
     @Override
     public TableDataInfo<SysSubOrderListPageVo> list(SysSubOrderListPageBo bo, PageQuery pageQuery) {
@@ -70,6 +74,8 @@ public class SysSubOrderServiceImpl implements ISysSubOrderService {
         LambdaQueryWrapper<SysOrder> orderWrapper = Wrappers.lambdaQuery(SysOrder.class);
 
         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());
             orderWrapper.in(SysOrder::getOrderPlacer, WrapperUtils.convertIds(userIds));
             List<Long> customerIds = remoteCustomerService.selectIdsByName(bo.getContent());
@@ -113,6 +119,7 @@ public class SysSubOrderServiceImpl implements ISysSubOrderService {
             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());
@@ -134,7 +141,10 @@ public class SysSubOrderServiceImpl implements ISysSubOrderService {
             vo.setStatus(e.getStatus());
             vo.setFulfiller(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());
             return vo;
         }));
@@ -186,4 +196,87 @@ public class SysSubOrderServiceImpl implements ISysSubOrderService {
     public SysSubOrderVo getInfo(Long 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;
+        }));
+
+    }
 }