Przeglądaj źródła

商家被预约接口微调

liude 1 rok temu
rodzic
commit
d9d870f9b6

+ 4 - 0
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/dto/MerchantAuthDTO.java

@@ -114,4 +114,8 @@ public class MerchantAuthDTO implements Serializable {
      * 申请时间
      */
     private Date applicationTime; //
+    /**
+     * 商家信息
+     */
+    private MerchantDTO merchant;
 }

+ 6 - 2
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/param/ReservationQueryParam.java

@@ -14,8 +14,8 @@ import java.io.Serializable;
 /**
  * 预约记录查询参数
  *
- * @author qizai
- * @date 2023/9/9
+ * @author liude
+ * @date 2024/3/10
  */
 @Data
 @SuperBuilder
@@ -41,4 +41,8 @@ public class ReservationQueryParam implements Serializable {
      * 预约状态
      */
     private ReserveStatus status;
+    /**
+     * 商家ID
+     */
+    private Long merchantId;
 }

+ 8 - 0
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/service/ReservationService.java

@@ -44,4 +44,12 @@ public interface ReservationService {
      * @return 预约分页信息
      */
     Pagination<ReservationDTO> getReservationPaging(ReservationPagingParam param);
+
+    /**
+     * 查询商家被预约列表
+     *
+     * @param param 查询参数
+     * @return 用户预约列表
+     */
+    List<ReservationDTO> listMerchantReservations(ReservationQueryParam param);
 }

+ 1 - 0
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/dao/ReservationMapper.java

@@ -24,4 +24,5 @@ public interface ReservationMapper extends BaseMapper<Reservation> {
      * @return 用户预约列表
      */
     List<Reservation> listUserReservations(@Param("userId") Long userId, @Param("param") ReservationQueryParam param);
+
 }

+ 8 - 0
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/MerchantService.java

@@ -51,4 +51,12 @@ public interface MerchantService extends IService<Merchant> {
      * @return
      */
     BigDecimal queryTotalCommissionAmountByLastMonth(Integer regionId, Integer level);
+
+
+    /**
+     * 查询用户商家信息
+     * @param userId
+     * @return
+     */
+    MerchantDTO getMerchantByUserId(Long userId);
 }

+ 5 - 1
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/MerchantAuthServiceImpl.java

@@ -9,6 +9,7 @@ import com.chelvc.cloud.vehicle.server.copier.MerchantAuthCopier;
 import com.chelvc.cloud.vehicle.server.dao.MerchantAuthMapper;
 import com.chelvc.cloud.vehicle.server.entity.MerchantAuth;
 import com.chelvc.cloud.vehicle.server.service.MerchantAuthService;
+import com.chelvc.cloud.vehicle.server.service.MerchantService;
 import com.chelvc.framework.base.context.SessionContextHolder;
 import com.chelvc.framework.base.util.ResourceUtils;
 import com.chelvc.framework.common.model.Pagination;
@@ -31,6 +32,7 @@ import java.util.Date;
 @DubboService(interfaceClass = com.chelvc.cloud.vehicle.api.service.MerchantAuthService.class)
 public class MerchantAuthServiceImpl extends ServiceImpl<MerchantAuthMapper, MerchantAuth> implements MerchantAuthService,
         com.chelvc.cloud.vehicle.api.service.MerchantAuthService {
+    private final MerchantService merchantService;
     @Override
     public Long addMerchantAuth(@NonNull MerchantAuthModifyParam param){
         MerchantAuth merchantAuth = MerchantAuthCopier.INSTANCE.copying(param);
@@ -60,7 +62,9 @@ public class MerchantAuthServiceImpl extends ServiceImpl<MerchantAuthMapper, Mer
         Long userId = SessionContextHolder.getId();
         MerchantAuth merchantAuth = this.lambdaQuery()
                 .eq(MerchantAuth::getApplicant, userId).one();
-        return MerchantAuthCopier.INSTANCE.copying(merchantAuth);
+        MerchantAuthDTO merchantAuthDTO = MerchantAuthCopier.INSTANCE.copying(merchantAuth);
+        merchantAuthDTO.setMerchant(this.merchantService.getMerchantByUserId(userId));
+        return merchantAuthDTO;
     }
 
     @Override

+ 10 - 0
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/MerchantServiceImpl.java

@@ -337,4 +337,14 @@ public class MerchantServiceImpl extends ServiceImpl<MerchantMapper, Merchant> i
         });
 
     }
+
+
+    @Override
+    public MerchantDTO getMerchantByUserId(Long userId){
+        Merchant merchants = this.lambdaQuery()
+                .eq(Merchant::getUserId, userId)
+                .eq(Merchant::getStatus, MerchantStatus.ONLINE)
+                .one();
+        return MerchantCopier.INSTANCE.copying(merchants);
+    }
 }

+ 11 - 0
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/OmsOrderServiceImpl.java

@@ -754,6 +754,17 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper, OmsOrder> i
     @Override
     public Pagination<OmsOrderDTO> getMerchantOrderPaging(OrderPagingParam param){
         Long userId = SessionContextHolder.getId();
+        List<Integer> statuses = new ArrayList<>();
+        if ("1".equals(param.getStatus())){
+            statuses.add(0);
+            statuses.add(1);
+            statuses.add(2);
+            statuses.add(3);
+        }else if ("1".equals(param.getStatus())){
+            statuses.add(4);
+            statuses.add(5);
+        }
+        param.setStatuses(statuses);
         List<Long> merchants = this.merchantService.getMerchantIdsByUserId(userId);
         if (!StringUtils.nonEmpty(merchants)){
             return null;

+ 23 - 0
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/ReservationServiceImpl.java

@@ -113,4 +113,27 @@ public class ReservationServiceImpl extends ServiceImpl<ReservationMapper, Reser
             return pagination;
         }
     }
+
+
+    @Override
+    public List<ReservationDTO> listMerchantReservations(@NonNull ReservationQueryParam param) {
+        if (StringUtils.isEmpty(param.getMerchantId())) {
+            return null;
+        }
+        List<Reservation> list = this.lambdaQuery()
+                .eq(StringUtils.nonEmpty(param.getStatus()), Reservation::getStatus, param.getStatus())
+                .in(Reservation::getMerchantId, param.getMerchantId())
+                .orderByDesc(Reservation::getAppointTime)
+                .list();
+        List<ReservationDTO> reservations = ReservationCopier.INSTANCE.copying(list);
+        reservations.forEach(item -> {
+            EmployeeDTO employeeDTO = this.employeeService.getEmployee(item.getUserId());
+            if (employeeDTO != null) {
+                item.setUsername(employeeDTO.getUsername());
+            }
+            MerchantDTO merchantDTO = this.merchantService.getMerchantById(item.getMerchantId());
+            item.setMerchant(merchantDTO);
+        });
+        return reservations;
+    }
 }