Huanyi 1 долоо хоног өмнө
parent
commit
e6e4bb45a1

+ 12 - 1
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysAreaStationServiceImpl.java

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.dromara.common.core.exception.ServiceException;
 import org.dromara.common.redis.utils.CacheUtils;
 import org.dromara.system.domain.vo.SysAreaStationOnStoreVo;
 import org.dromara.system.domain.vo.SysAreaStationStatusVo;
@@ -19,7 +20,9 @@ import org.springframework.stereotype.Service;
 import org.dromara.system.domain.bo.SysAreaStationBo;
 import org.dromara.system.domain.vo.SysAreaStationVo;
 import org.dromara.system.domain.SysAreaStation;
+import org.dromara.system.domain.SysStore;
 import org.dromara.system.mapper.SysAreaStationMapper;
+import org.dromara.system.mapper.SysStoreMapper;
 import org.dromara.system.service.ISysAreaStationService;
 
 import java.util.List;
@@ -38,6 +41,7 @@ import java.util.Collection;
 public class SysAreaStationServiceImpl implements ISysAreaStationService {
 
     private final SysAreaStationMapper baseMapper;
+    private final SysStoreMapper sysStoreMapper;
 
     /**
      * 查询区域站点
@@ -123,7 +127,14 @@ public class SysAreaStationServiceImpl implements ISysAreaStationService {
     @Override
     public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
         if(isValid){
-            //TODO 做一些业务上的校验,判断是否需要校验
+            for (Long stationId : ids) {
+                boolean exists = sysStoreMapper.exists(
+                    Wrappers.<SysStore>lambdaQuery().eq(SysStore::getSite, stationId)
+                );
+                if (exists) {
+                    throw new ServiceException("当前站点下存在绑定门店,无法删除");
+                }
+            }
         }
         ids.forEach(id -> CacheUtils.evict(CacheNames.SYS_AREA_STATION_NAME, id));
         return baseMapper.deleteByIds(ids) > 0;

+ 2 - 1
ruoyi-modules/yingpaipay-archieves/src/main/java/org/dromara/archieves/controller/UsrCustomerController.java

@@ -137,9 +137,10 @@ public class UsrCustomerController extends BaseController {
     public TableDataInfo<UsrCustomerOnOrderVo> listOnOrder(
         @RequestParam(name = "content", required = false) String content,
         @RequestParam(name = "tenantId", required = false) String tenantId,
+        @RequestParam(name = "stationId", required = false) Long stationId,
         PageQuery pageQuery
     ) {
-        return usrCustomerService.listOnOrder(content, tenantId, pageQuery);
+        return usrCustomerService.listOnOrder(content, tenantId, stationId, pageQuery);
     }
 
     @RepeatSubmit()

+ 1 - 1
ruoyi-modules/yingpaipay-archieves/src/main/java/org/dromara/archieves/service/IUsrCustomerService.java

@@ -53,7 +53,7 @@ public interface IUsrCustomerService {
      */
     Boolean changeStatus(Long id, Integer status);
 
-    TableDataInfo<UsrCustomerOnOrderVo> listOnOrder(String name, String tenantId, PageQuery pageQuery);
+    TableDataInfo<UsrCustomerOnOrderVo> listOnOrder(String name, String tenantId, Long stationId, PageQuery pageQuery);
 
     boolean remark(UsrCustomerRemarkBo bo);
 }

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

@@ -218,7 +218,7 @@ public class UsrCustomerServiceImpl implements IUsrCustomerService {
     }
 
     @Override
-    public TableDataInfo<UsrCustomerOnOrderVo> listOnOrder(String content, String tenantId, PageQuery pageQuery) {
+    public TableDataInfo<UsrCustomerOnOrderVo> listOnOrder(String content, String tenantId, Long stationId, PageQuery pageQuery) {
 
         Page<UsrCustomer> page = baseMapper.selectPage(
             pageQuery.build(),
@@ -229,6 +229,7 @@ public class UsrCustomerServiceImpl implements IUsrCustomerService {
                     .like(UsrCustomer::getPhone, content)
                 )
                 .eq(StringUtils.isNotBlank(tenantId), UsrCustomer::getTenantId, tenantId)
+                .eq(stationId != null, UsrCustomer::getStationId, stationId)
                 .orderByDesc(UsrCustomer::getId)
         );
 

+ 2 - 0
ruoyi-modules/yingpaipay-order/src/main/java/org/dromara/order/domain/bo/SysSubOrderListPageBo.java

@@ -11,4 +11,6 @@ public class SysSubOrderListPageBo {
 
     private String content;
 
+    private Long site;
+
 }

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

@@ -113,6 +113,7 @@ public class SysSubOrderServiceImpl implements ISysSubOrderService {
             orderWrapper.orderByDesc(SysSubOrder::getId)
                 .eq(bo.getStatus() != null, SysSubOrder::getStatus, bo.getStatus())
                 .eq(bo.getService() != null, SysSubOrder::getService, bo.getService())
+                .eq(bo.getSite() != null, SysSubOrder::getStoreSite, bo.getSite())
         );
 
         List<Long> petIds = new ArrayList<>();
@@ -242,7 +243,15 @@ public class SysSubOrderServiceImpl implements ISysSubOrderService {
     public boolean cancel(SysSubOrderCancelBo bo) {
 
         SysSubOrder subOrder = baseMapper.selectById(bo.getOrderId());
-        subOrder.setStatus(OrderStatusEnum.CANCELLED.getValue());
+
+        LoginUser loginUser = LoginHelper.getLoginUser();
+        boolean isFulfillerCancel = loginUser.getUserType().equals(UserType.FULFILLER_USER.getUserType());
+        if (isFulfillerCancel) {
+            subOrder.setStatus(OrderStatusEnum.PENDING_DISPATCH.getValue());
+            subOrder.setFulfiller(null);
+        } else {
+            subOrder.setStatus(OrderStatusEnum.CANCELLED.getValue());
+        }
 
         boolean orderFlag = baseMapper.updateById(subOrder) == 0;
         if (orderFlag) {
@@ -251,9 +260,6 @@ public class SysSubOrderServiceImpl implements ISysSubOrderService {
 
         SysSubOrderLog log = new SysSubOrderLog();
 
-        LoginUser loginUser = LoginHelper.getLoginUser();
-        // 此代码由AI生成 - 判断是否为履约者取消
-        boolean isFulfillerCancel = loginUser.getUserType().equals(UserType.FULFILLER_USER.getUserType());
         if (isFulfillerCancel) {
             log.setSubOrderId(subOrder.getId());
             log.setActioner(LoginHelper.getUserId());
@@ -281,7 +287,6 @@ public class SysSubOrderServiceImpl implements ISysSubOrderService {
             throw new RuntimeException("日志追加失败");
         }
 
-        // 此代码由AI生成 - 履约者取消订单时发送消息通知
         if (isFulfillerCancel) {
             try {
                 SubOrderRejectMessage msg = new SubOrderRejectMessage();
@@ -291,12 +296,9 @@ public class SysSubOrderServiceImpl implements ISysSubOrderService {
                 msg.setFulfillerId(LoginHelper.getUserId());
                 msg.setFulfillerName(loginUser.getNickname());
                 msg.setRejectReason(bo.getReason());
-                // 获取门店名称
                 String storeName = remoteStoreService.getNameById(subOrder.getStore());
                 msg.setStoreName(storeName != null ? storeName : "未知门店");
-                // 设置取消时间
                 msg.setCancelTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
-                // 此代码由AI生成 - 标识为取消操作
                 msg.setActionType("CANCEL");
 
                 rabbitMqProducer.sendMessage(
@@ -305,7 +307,6 @@ public class SysSubOrderServiceImpl implements ISysSubOrderService {
                     msg
                 );
             } catch (Exception e) {
-                // 消息发送失败不影响主流程
             }
         }