Commit 4bf3d76d by 程裕兵

feat:bind

parent dd39a2a7
......@@ -6,6 +6,7 @@ import com.jiejing.fitness.finance.api.merchant.request.ApplyStudioMerchantReque
import com.jiejing.fitness.finance.api.merchant.request.AuthStudioSubChannelRequest;
import com.jiejing.fitness.finance.api.merchant.request.BindStudioMerchantRequest;
import com.jiejing.fitness.finance.api.merchant.request.BindStudioMerchantXcxAppIdRequest;
import com.jiejing.fitness.finance.api.merchant.request.CheckUnbindStudioMerchantRequest;
import com.jiejing.fitness.finance.api.merchant.request.GetAuthStudioSubChannelRequest;
import com.jiejing.fitness.finance.api.merchant.request.GetOpenIdRequest;
import com.jiejing.fitness.finance.api.merchant.request.GetStudioLatestMerchantApplyRequest;
......@@ -45,6 +46,10 @@ public interface StudioMerchantApi {
@PostMapping(value = "/private/studioMerchant/bind")
JsonResult<Void> bind(BindStudioMerchantRequest request);
@ApiOperation(value = "解绑前置校验请求", tags = {TAG})
@PostMapping(value = "/private/studioMerchant/checkUnbind")
JsonResult<Boolean> checkUnbind(CheckUnbindStudioMerchantRequest request);
@ApiOperation(value = "场馆解绑商户", tags = {TAG})
@PostMapping(value = "/private/studioMerchant/unbind")
JsonResult<Void> unbind(UnbindStudioMerchantRequest request);
......
......@@ -6,6 +6,7 @@ import com.jiejing.fitness.finance.api.merchant.request.ApplyStudioMerchantReque
import com.jiejing.fitness.finance.api.merchant.request.AuthStudioSubChannelRequest;
import com.jiejing.fitness.finance.api.merchant.request.BindStudioMerchantRequest;
import com.jiejing.fitness.finance.api.merchant.request.BindStudioMerchantXcxAppIdRequest;
import com.jiejing.fitness.finance.api.merchant.request.CheckUnbindStudioMerchantRequest;
import com.jiejing.fitness.finance.api.merchant.request.GetAuthStudioSubChannelRequest;
import com.jiejing.fitness.finance.api.merchant.request.GetOpenIdRequest;
import com.jiejing.fitness.finance.api.merchant.request.GetStudioLatestMerchantApplyRequest;
......@@ -49,6 +50,11 @@ public class StudioMerchantApiFallback implements FallbackFactory<StudioMerchant
}
@Override
public JsonResult<Boolean> checkUnbind(CheckUnbindStudioMerchantRequest request) {
return JsonResult.rpcError();
}
@Override
public JsonResult<Void> unbind(UnbindStudioMerchantRequest request) {
return JsonResult.rpcError();
}
......
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 CheckUnbindStudioMerchantRequest {
@ApiModelProperty(value = "场馆ID", required = true)
@NotNull(message = "场馆ID不能为空")
private Long studioId;
@ApiModelProperty(value = "商户ID", required = true)
@NotNull(message = "商户ID不能为空")
private Long merchantId;
}
......@@ -8,6 +8,7 @@ import com.jiejing.fitness.finance.api.merchant.request.ApplyStudioMerchantReque
import com.jiejing.fitness.finance.api.merchant.request.AuthStudioSubChannelRequest;
import com.jiejing.fitness.finance.api.merchant.request.BindStudioMerchantRequest;
import com.jiejing.fitness.finance.api.merchant.request.BindStudioMerchantXcxAppIdRequest;
import com.jiejing.fitness.finance.api.merchant.request.CheckUnbindStudioMerchantRequest;
import com.jiejing.fitness.finance.api.merchant.request.GetAuthStudioSubChannelRequest;
import com.jiejing.fitness.finance.api.merchant.request.GetOpenIdRequest;
import com.jiejing.fitness.finance.api.merchant.request.GetStudioLatestMerchantApplyRequest;
......@@ -70,6 +71,14 @@ public class StudioMerchantController implements StudioMerchantApi {
return JsonResult.success();
}
@ApiOperation(value = "解绑前置校验请求", tags = {TAG})
@PostMapping(value = "/private/studioMerchant/checkUnbind")
@Override
public JsonResult<Boolean> checkUnbind(@RequestBody @Valid CheckUnbindStudioMerchantRequest request) {
return JsonResult.success(
studioMerchantService.checkUnbind(request.getStudioId(), request.getMerchantId()));
}
@ApiOperation(value = "场馆解绑商户", tags = {TAG})
@PostMapping(value = "/private/studioMerchant/unbind")
@Override
......
......@@ -127,4 +127,13 @@ public interface StudioMerchantService {
*/
List<StudioMerchantAuthSubChannelVO> listAuthSubChannel(Long studioId);
/**
* 解绑前置校验
*
* @param studioId 场馆ID
* @param merchantId 商户ID
* @return true:绑定过其他场馆;false-没有绑定过
*/
Boolean checkUnbind(Long studioId, Long merchantId);
}
......@@ -273,6 +273,15 @@ public class StudioMerchantServiceImpl implements StudioMerchantService {
.map(e -> BeanUtil.map(e, StudioMerchantAuthSubChannelVO.class)).collect(Collectors.toList());
}
@Override
public Boolean checkUnbind(Long studioId, Long merchantId) {
List<PartyToMerchant> merchants = partyToMerchantRpService.listByMerchantIdAndPartyType(merchantId, PartyTypeEnum.STUDIO);
return Optional.ofNullable(merchants)
.orElse(new ArrayList<>(1))
.stream()
.anyMatch(e -> !e.getPartyId().equals(studioId));
}
private void doOpenMerchantSuccess(MerchantEvent event) {
StudioMerchantApply apply = studioMerchantApplyRpService.getByIdForUpdate(
......
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