彭雪彬
2025-07-15 a7501803a3ca43310e57a5dd912e5047919c2e43
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
package com.oying.modules.pc.store.service;
 
import com.baomidou.mybatisplus.extension.service.IService;
import com.oying.modules.pc.store.domain.Store;
import com.oying.modules.pc.store.domain.dto.StoreCreateRequest;
import com.oying.modules.pc.store.domain.dto.StoreQueryCriteria;
import com.oying.modules.pc.store.domain.dto.StoreUpdateRequest;
import com.oying.utils.PageResult;
 
import java.math.BigDecimal;
import java.time.LocalTime;
import java.util.List;
import java.util.Set;
 
/**
 * 店铺基础信息Service接口
 *
 * @author lzp
 * @date 2025-04-22
 */
public interface StoreService extends IService<Store> {
 
    PageResult<Store> queryByPage(StoreQueryCriteria criteria);
 
    List<Store> queryAll(StoreQueryCriteria criteria);
 
    List<Long> queryStoreIds(StoreQueryCriteria criteria);
 
    Store getMerchantStore(Long merchantId);
 
    List<Store> getStoresByIds(Set<Long> ids);
 
    List<Store> getUserStores(Long userId);
 
    Store getOrThrow(Long storeId, Long version);
 
    void create(Store resources);
 
    Store create(StoreCreateRequest request);
 
    boolean update(Store resources, boolean isDirectUpdate);
 
    boolean update(StoreUpdateRequest request);
 
    boolean updateLogo(Long storeId, Long logoImageId, Long version);
 
    boolean updateName(Long storeId, String storeName, Long version);
 
    boolean updateDescription(Long storeId, String description, Long version);
 
    boolean updateContactPhone(Long storeId, String contactPhone, Long version);
 
    boolean updateAddress(Long storeId, String address, Long version);
 
    boolean updateLocation(Long storeId, Double longitude, Double latitude, Long version);
 
    boolean updateRadius(Long storeId, Integer radius, Long version);
 
    boolean updatePlatformCategory(Long storeId, Long platformCategory, Long version);
 
    boolean updateBusinessHours(Long storeId, LocalTime openTime, LocalTime endTime, Long version);
 
    boolean updateDeliveryMinimum(Long storeId, BigDecimal deliveryMinimum, Long version);
 
    boolean updateDeliveryFee(Long storeId, BigDecimal deliveryFee, Long version);
 
    boolean updateStatus(Long storeId, Integer status, Long version);
 
    boolean existsByIdAndMerchantId(Long storeId, Long merchantId);
 
    boolean existsStoreName(String storeName);
 
    boolean bindUser(Long store);
}