Commit 9fa0e837 by 程裕兵

feat:list brand merchant

parent a13940a9
package com.jiejing.fitness.finance.api.merchant;
import com.jiejing.common.model.JsonResult;
import com.jiejing.fitness.finance.api.merchant.request.BindBrandMerchantRequest;
import com.jiejing.fitness.finance.api.merchant.request.ListBrandMerchantRequest;
import com.jiejing.fitness.finance.api.merchant.request.UnbindBrandMerchantRequest;
import com.jiejing.fitness.finance.api.merchant.vo.StudioMerchantVO;
import io.swagger.annotations.ApiOperation;
import java.util.List;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
/**
* @author chengyubing
* @since 2024/3/7 09:46
*/
@FeignClient(name = "FINANCE", url = "${rpc.url.fit-finance:http://app-fit-finance:7008}", fallbackFactory = BrandMerchantApiFallback.class)
public interface BrandMerchantApi {
String TAG = "金融-品牌商户管理";
@ApiOperation(value = "品牌绑定商户", tags = {TAG})
@PostMapping(value = "/private/brandMerchant/bind")
JsonResult<Void> bind(BindBrandMerchantRequest request);
@ApiOperation(value = "品牌解绑商户", tags = {TAG})
@PostMapping(value = "/private/brandMerchant/unbind")
JsonResult<Void> unbind(UnbindBrandMerchantRequest request);
@ApiOperation(value = "查询品牌商户列表", tags = {TAG})
@PostMapping(value = "/private/brandMerchant/list")
JsonResult<List<StudioMerchantVO>> list(ListBrandMerchantRequest request);
}
package com.jiejing.fitness.finance.api.merchant;
import feign.hystrix.FallbackFactory;
import org.springframework.stereotype.Component;
/**
* @author chengyubing
* @since 2024/3/7 09:46
*/
@Component
public class BrandMerchantApiFallback implements FallbackFactory<BrandMerchantApi> {
@Override
public BrandMerchantApi create(Throwable throwable) {
return null;
}
}
package com.jiejing.fitness.finance.api.merchant.request;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import javax.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author chengyubing
* @since 2024/3/5 13:39
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(description = "品牌绑定商户请求")
public class BindBrandMerchantRequest {
@ApiModelProperty(value = "品牌ID", required = true)
@NotNull(message = "品牌ID不能为空")
private Long brandId;
@ApiModelProperty(value = "商户ID", required = true)
@NotNull(message = "商户ID不能为空")
private Long merchantId;
}
...@@ -18,7 +18,7 @@ import lombok.NoArgsConstructor; ...@@ -18,7 +18,7 @@ import lombok.NoArgsConstructor;
@Builder @Builder
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@ApiModel(description = "申请场馆商户请求信息") @ApiModel(description = "查询场馆商户请求信息")
public class GetStudioMerchantRequest { public class GetStudioMerchantRequest {
@ApiModelProperty(value = "场馆ID", required = true) @ApiModelProperty(value = "场馆ID", required = true)
......
package com.jiejing.fitness.finance.api.merchant.request;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import javax.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 品牌申请商户请求
*
* @author chengyubing
* @since 2024/2/20 14:03
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(description = "查看品牌商户列表request")
public class ListBrandMerchantRequest {
@ApiModelProperty(value = "品牌ID", required = true)
@NotNull(message = "品牌ID不能为空")
private Long brandId;
}
package com.jiejing.fitness.finance.api.merchant.request;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import javax.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author chengyubing
* @since 2024/3/5 13:39
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(description = "品牌解绑商户请求")
public class UnbindBrandMerchantRequest {
@ApiModelProperty(value = "品牌ID", required = true)
@NotNull(message = "品牌ID不能为空")
private Long brandId;
@ApiModelProperty(value = "商户ID", required = true)
@NotNull(message = "商户ID不能为空")
private Long merchantId;
}
package com.jiejing.fitness.finance.app.controller.merchant;
import com.jiejing.common.model.JsonResult;
import com.jiejing.fitness.finance.api.merchant.BrandMerchantApi;
import com.jiejing.fitness.finance.api.merchant.request.BindBrandMerchantRequest;
import com.jiejing.fitness.finance.api.merchant.request.ListBrandMerchantRequest;
import com.jiejing.fitness.finance.api.merchant.request.UnbindBrandMerchantRequest;
import com.jiejing.fitness.finance.api.merchant.vo.StudioMerchantVO;
import com.jiejing.fitness.finance.service.merchant.BrandMerchantService;
import io.swagger.annotations.ApiOperation;
import java.util.List;
import javax.annotation.Resource;
import javax.validation.Valid;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
/**
* @author chengyubing
* @since 2024/3/7 09:51
*/
@RestController
public class BrandMerchantController implements BrandMerchantApi {
@Resource
private BrandMerchantService brandMerchantService;
@ApiOperation(value = "品牌绑定商户", tags = {TAG})
@PostMapping(value = "/private/brandMerchant/bind")
@Override
public JsonResult<Void> bind(@RequestBody @Valid BindBrandMerchantRequest request) {
brandMerchantService.bind(request.getBrandId(), request.getMerchantId());
return JsonResult.success();
}
@ApiOperation(value = "品牌解绑商户", tags = {TAG})
@PostMapping(value = "/private/brandMerchant/unbind")
@Override
public JsonResult<Void> unbind(@RequestBody @Valid UnbindBrandMerchantRequest request) {
brandMerchantService.unbind(request.getBrandId(), request.getMerchantId());
return JsonResult.success();
}
@ApiOperation(value = "查询品牌商户列表", tags = {TAG})
@PostMapping(value = "/private/brandMerchant/list")
@Override
public JsonResult<List<StudioMerchantVO>> list(@RequestBody @Valid ListBrandMerchantRequest request) {
return JsonResult.success(brandMerchantService.list(request.getBrandId()));
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment