liude 1 рік тому
батько
коміт
5a4664d378

+ 9 - 0
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/dto/MerchantDTO.java

@@ -136,4 +136,13 @@ public class MerchantDTO implements Serializable {
      */
     private String businessStatus;
 
+    /**
+     * 商家主营业务
+     */
+    private List<Long> mainBusiness;
+    /**
+     * 商家副营业务
+     */
+    private List<Long> ancillaryBusiness;
+
 }

+ 9 - 0
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/param/MerchantModifyParam.java

@@ -116,4 +116,13 @@ public class MerchantModifyParam implements Serializable {
      */
     @NotNull(message = "是否推荐不能为空")
     private Boolean recommend;
+
+    /**
+     * 商家主营业务
+     */
+    private List<Long> mainBusiness;
+    /**
+     * 商家副营业务
+     */
+    private List<Long> ancillaryBusiness;
 }

+ 7 - 0
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/service/CategoryService.java

@@ -48,6 +48,13 @@ public interface CategoryService {
      */
     List<CategoryDTO> listActiveCategories(CategoryListParam param);
 
+    /**
+     * 获取有效分类信息
+     *
+     * @return 分类信息列表
+     */
+    List<CategoryDTO> listCategory(CategoryListParam param);
+
     /**
      * 获取推荐分类信息
      *

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

@@ -52,4 +52,11 @@ public interface ReservationService {
      * @return 用户预约列表
      */
     List<ReservationDTO> listMerchantReservations(ReservationQueryParam param);
+
+    /**
+     * 更新预约单的状态
+     * @param id 预约单ID
+     * @param status 预约单的状态
+     */
+    void updateReservationsStatus(Long id,String status) ;
 }

+ 0 - 3
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/copier/ReservationCopier.java

@@ -1,9 +1,6 @@
 package com.chelvc.cloud.vehicle.server.copier;
-
-import com.chelvc.cloud.vehicle.api.dto.CommissionConfigDTO;
 import com.chelvc.cloud.vehicle.api.dto.ReservationDTO;
 import com.chelvc.cloud.vehicle.api.param.ReservationModifyParam;
-import com.chelvc.cloud.vehicle.server.entity.CommissionConfig;
 import com.chelvc.cloud.vehicle.server.entity.Reservation;
 import org.mapstruct.Builder;
 import org.mapstruct.Mapper;

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

@@ -24,5 +24,11 @@ public interface ReservationMapper extends BaseMapper<Reservation> {
      * @return 用户预约列表
      */
     List<Reservation> listUserReservations(@Param("userId") Long userId, @Param("param") ReservationQueryParam param);
+    /**
+     * 更新预约单的状态
+     * @param id 预约单ID
+     * @param status 预约单的状态
+     */
+    void updateReservationsStatus(@Param("id")Long id,@Param("status")String status);
 
 }

+ 9 - 0
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/entity/Merchant.java

@@ -139,4 +139,13 @@ public class Merchant extends ModifyEntity<Long> {
      * 营业状态 0-营业中 1-休息中
      */
     private String businessStatus;
+
+    /**
+     * 商家主营业务
+     */
+//    private List<Long> mainBusiness;
+//    /**
+//     * 商家副营业务
+//     */
+//    private List<Long> ancillaryBusiness;
 }

+ 46 - 19
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/CategoryServiceImpl.java

@@ -46,18 +46,18 @@ public class CategoryServiceImpl extends ServiceImpl<CategoryMapper, Category> i
         Integer count = this.lambdaQuery().eq(Category::getName, param.getName()).count();
         AssertUtils.available(count <= 0, "分类名称已存在");
         Category category = CategoryCopier.INSTANCE.copying(param);
-//        Long userId = SessionContextHolder.getId();
-//        Scope scope = StringUtils.ifEmpty(SessionContextHolder.getScope(), Scope::parse);
-//        if (scope == Scope.ADMIN) {
-//            category.setType("0");
-//        }else {
-//            List<Long> merchants = this.merchantService.getMerchantIdsByUserId(userId);
-//            if (ObjectUtils.isEmpty(merchants)) {
-//                return null;
-//            }
-//            category.setMerchantId(merchants.get(0));
-//            category.setType("1");
-//        }
+        Long userId = SessionContextHolder.getId();
+        Scope scope = StringUtils.ifEmpty(SessionContextHolder.getScope(), Scope::parse);
+        if (scope == Scope.ADMIN) {
+            category.setType("0");
+        }else {
+            List<Long> merchants = this.merchantService.getMerchantIdsByUserId(userId);
+            if (ObjectUtils.isEmpty(merchants)) {
+                return null;
+            }
+            category.setMerchantId(merchants.get(0));
+            category.setType("1");
+        }
         if (StringUtils.isEmpty(category.getParentId())){
             category.setParentId(0l);
         }
@@ -86,9 +86,9 @@ public class CategoryServiceImpl extends ServiceImpl<CategoryMapper, Category> i
         }
         Page<Category> page = this.lambdaQuery()
                 .like(StringUtils.notEmpty(param.getName()), Category::getName, param.getName())
-//                .eq(StringUtils.notEmpty(param.getMerchantId()),Category::getMerchantId,param.getMerchantId())
+                .eq(StringUtils.notEmpty(param.getMerchantId()),Category::getMerchantId,param.getMerchantId())
                 .eq(Objects.nonNull(param.getEnabled()), Category::getEnabled, param.getEnabled())
-//                .eq(StringUtils.notEmpty(param.getType()),Category::getType,param.getType())
+                .eq(StringUtils.notEmpty(param.getType()),Category::getType,param.getType())
                 .orderByAsc(Category::getSort).page(DatabaseContextHolder.page(param.getPaging()));
         return DatabaseContextHolder.pagination(page, CategoryCopier.INSTANCE::copying);
     }
@@ -105,11 +105,13 @@ public class CategoryServiceImpl extends ServiceImpl<CategoryMapper, Category> i
                 return null;
             }
             param.setMerchantId(merchants.get(0));
-            param.setType("1");
+            if (StringUtils.isEmpty(param.getType())){
+                param.setType("1");
+            }
         }
         List<Category> categories = this.lambdaQuery().eq(Category::getEnabled, true)
-//                .eq(StringUtils.notEmpty(param.getType()),Category::getType,param.getType())
-//                .eq(StringUtils.notEmpty(param.getMerchantId()),Category::getMerchantId,param.getMerchantId())
+                .eq(StringUtils.notEmpty(param.getType()),Category::getType,param.getType())
+                .eq(StringUtils.notEmpty(param.getMerchantId()),Category::getMerchantId,param.getMerchantId())
                 .orderByAsc(Category::getSort).list();
         categories.sort(Comparator.comparing(Category::getType).thenComparing(Category::getSort));
         List<CategoryDTO> categoryDTOS = CategoryCopier.INSTANCE.copying(categories);
@@ -131,6 +133,31 @@ public class CategoryServiceImpl extends ServiceImpl<CategoryMapper, Category> i
         return categoryList;
     }
 
+    @Override
+    public List<CategoryDTO> listCategory(CategoryListParam param) {
+        List<Category> categories = this.lambdaQuery().eq(Category::getEnabled, true)
+                .eq(StringUtils.notEmpty(param.getType()),Category::getType,param.getType())
+                .orderByAsc(Category::getSort).list();
+        categories.sort(Comparator.comparing(Category::getType).thenComparing(Category::getSort));
+        List<CategoryDTO> categoryDTOS = CategoryCopier.INSTANCE.copying(categories);
+        List<CategoryDTO> categoryList = new ArrayList<>();
+        for (CategoryDTO categoryDTO:categoryDTOS){
+            if (categoryDTO.getParentId() == 0){
+                categoryList.add(categoryDTO);
+            }
+        }
+        for (CategoryDTO categoryDTO:categoryList){
+            List<CategoryDTO> categorys = new ArrayList<>();
+            for (CategoryDTO categorydto:categoryDTOS){
+                if (categorydto.getParentId().equals(categoryDTO.getId()) ){
+                    categorys.add(categorydto);
+                }
+            }
+            categoryDTO.setChildren(categorys);
+        }
+        return categoryList;
+    }
+
     @Override
     public List<CategoryDTO> listRecommendCategories(int size) {
         List<Category> categories = this.baseMapper.listRecommendCategories(size);
@@ -157,8 +184,8 @@ public class CategoryServiceImpl extends ServiceImpl<CategoryMapper, Category> i
         }
         List<Category> categories = this.lambdaQuery()
                 .eq(Category::getEnabled, true)
-//                .eq(StringUtils.notEmpty(param.getType()),Category::getType,param.getType())
-//                .eq(StringUtils.notEmpty(param.getMerchantId()),Category::getMerchantId,param.getMerchantId())
+                .eq(StringUtils.notEmpty(param.getType()),Category::getType,param.getType())
+                .eq(StringUtils.notEmpty(param.getMerchantId()),Category::getMerchantId,param.getMerchantId())
                 .orderByAsc(Category::getSort).list();
         categories.sort(Comparator.comparing(Category::getType).thenComparing(Category::getSort));
         return CategoryCopier.INSTANCE.copying(categories);

+ 1 - 4
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/MerchantServiceImpl.java

@@ -80,9 +80,6 @@ public class MerchantServiceImpl extends ServiceImpl<MerchantMapper, Merchant> i
 
     private final OmsCartItemService omsCartItemService;
 
-    @DubboReference
-    EmployeeService employeeService;
-
     @DubboReference
     UserService userService;
 
@@ -330,7 +327,7 @@ public class MerchantServiceImpl extends ServiceImpl<MerchantMapper, Merchant> i
     /**
      * 每天定时更新商家得营业状态
      */
-    @Scheduled(cron = "5 * * * * ?")
+//    @Scheduled(cron = "5 * * * * ?")
     public void batchMerchantBusinessStatus() {
         List<Merchant> merchantList = this.lambdaQuery().list();
         merchantList.forEach(item -> {

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

@@ -145,4 +145,8 @@ public class ReservationServiceImpl extends ServiceImpl<ReservationMapper, Reser
         });
         return reservations;
     }
+    @Override
+    public void updateReservationsStatus(Long id,String status){
+
+    }
 }

+ 1 - 1
vehicle-server/src/main/resources/mapper/MerchantMapper.xml

@@ -4,7 +4,7 @@
     <sql id="BASIC_MERCHANT_SELECT">
         select mt.id, mt.user_id, mt.name, mt.logo, mt.banners, mt.liaison, mt.mobile, mt.opening, mt.address,mt.business_status,
         mt.score, mt.sale, mt.good_review,mt.region, mt.longitude, mt.latitude, mt.recommend, mt.status, mt.creator,
-        mt.create_time,mt.updater, mt.update_time
+        mt.create_time,mt.updater, mt.update_time,mt.main_business,mt.ancillary_business
         from `merchant` mt
     </sql>
 

+ 4 - 0
vehicle-server/src/main/resources/mapper/ReservationMapper.xml

@@ -41,4 +41,8 @@
         order by rn.appoint_time asc
         limit #{param.size}
     </select>
+
+    <update id="updateReservationsStatus">
+        update reservation set status = #{status} where id = #{id}
+    </update>
 </mapper>