OpenStoreController.java
1.9 KB
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
package com.diligrp.rider.controller;
import com.diligrp.rider.common.result.Result;
import com.diligrp.rider.dto.MerchantStoreDTO;
import com.diligrp.rider.entity.MerchantStore;
import com.diligrp.rider.service.MerchantService;
import jakarta.servlet.http.HttpServletRequest;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 开放平台:门店同步接口
* 接入方用 AppKey 签名后调用,同步自己系统的门店数据到配送中台
*/
@RestController
@RequestMapping("/api/open/store")
@RequiredArgsConstructor
public class OpenStoreController {
private final MerchantService merchantService;
/**
* 同步门店(新增或更新)
* 以 appKey + outStoreId 为唯一键,存在则更新,不存在则新增
* dto.outStoreId 必填
*/
@PostMapping("/sync")
public Result<MerchantStore> sync(
@RequestBody MerchantStoreDTO dto,
HttpServletRequest request) {
String appKey = request.getHeader("X-App-Key");
return Result.success(merchantService.syncStore(appKey, dto));
}
/**
* 查询本应用下的门店列表
*/
@GetMapping("/list")
public Result<List<MerchantStore>> list(
HttpServletRequest request,
@RequestParam(required = false) Long cityId,
@RequestParam(defaultValue = "1") int page) {
String appKey = request.getHeader("X-App-Key");
return Result.success(merchantService.storeList(cityId, null, page));
}
/**
* 根据外部门店编号查询
*/
@GetMapping("/getByOutStoreId")
public Result<MerchantStore> getByOutStoreId(
@RequestParam String outStoreId,
HttpServletRequest request) {
String appKey = request.getHeader("X-App-Key");
return Result.success(merchantService.getByOutStoreId(appKey, outStoreId));
}
}