Commit 4bf3d76d by 程裕兵

feat:bind

parent dd39a2a7
...@@ -6,6 +6,7 @@ import com.jiejing.fitness.finance.api.merchant.request.ApplyStudioMerchantReque ...@@ -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.AuthStudioSubChannelRequest;
import com.jiejing.fitness.finance.api.merchant.request.BindStudioMerchantRequest; 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.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.GetAuthStudioSubChannelRequest;
import com.jiejing.fitness.finance.api.merchant.request.GetOpenIdRequest; import com.jiejing.fitness.finance.api.merchant.request.GetOpenIdRequest;
import com.jiejing.fitness.finance.api.merchant.request.GetStudioLatestMerchantApplyRequest; import com.jiejing.fitness.finance.api.merchant.request.GetStudioLatestMerchantApplyRequest;
...@@ -45,6 +46,10 @@ public interface StudioMerchantApi { ...@@ -45,6 +46,10 @@ public interface StudioMerchantApi {
@PostMapping(value = "/private/studioMerchant/bind") @PostMapping(value = "/private/studioMerchant/bind")
JsonResult<Void> bind(BindStudioMerchantRequest request); JsonResult<Void> bind(BindStudioMerchantRequest request);
@ApiOperation(value = "解绑前置校验请求", tags = {TAG})
@PostMapping(value = "/private/studioMerchant/checkUnbind")
JsonResult<Boolean> checkUnbind(CheckUnbindStudioMerchantRequest request);
@ApiOperation(value = "场馆解绑商户", tags = {TAG}) @ApiOperation(value = "场馆解绑商户", tags = {TAG})
@PostMapping(value = "/private/studioMerchant/unbind") @PostMapping(value = "/private/studioMerchant/unbind")
JsonResult<Void> unbind(UnbindStudioMerchantRequest request); JsonResult<Void> unbind(UnbindStudioMerchantRequest request);
......
...@@ -6,6 +6,7 @@ import com.jiejing.fitness.finance.api.merchant.request.ApplyStudioMerchantReque ...@@ -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.AuthStudioSubChannelRequest;
import com.jiejing.fitness.finance.api.merchant.request.BindStudioMerchantRequest; 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.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.GetAuthStudioSubChannelRequest;
import com.jiejing.fitness.finance.api.merchant.request.GetOpenIdRequest; import com.jiejing.fitness.finance.api.merchant.request.GetOpenIdRequest;
import com.jiejing.fitness.finance.api.merchant.request.GetStudioLatestMerchantApplyRequest; import com.jiejing.fitness.finance.api.merchant.request.GetStudioLatestMerchantApplyRequest;
...@@ -49,6 +50,11 @@ public class StudioMerchantApiFallback implements FallbackFactory<StudioMerchant ...@@ -49,6 +50,11 @@ public class StudioMerchantApiFallback implements FallbackFactory<StudioMerchant
} }
@Override @Override
public JsonResult<Boolean> checkUnbind(CheckUnbindStudioMerchantRequest request) {
return JsonResult.rpcError();
}
@Override
public JsonResult<Void> unbind(UnbindStudioMerchantRequest request) { public JsonResult<Void> unbind(UnbindStudioMerchantRequest request) {
return JsonResult.rpcError(); 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 ...@@ -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.AuthStudioSubChannelRequest;
import com.jiejing.fitness.finance.api.merchant.request.BindStudioMerchantRequest; 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.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.GetAuthStudioSubChannelRequest;
import com.jiejing.fitness.finance.api.merchant.request.GetOpenIdRequest; import com.jiejing.fitness.finance.api.merchant.request.GetOpenIdRequest;
import com.jiejing.fitness.finance.api.merchant.request.GetStudioLatestMerchantApplyRequest; import com.jiejing.fitness.finance.api.merchant.request.GetStudioLatestMerchantApplyRequest;
...@@ -70,6 +71,14 @@ public class StudioMerchantController implements StudioMerchantApi { ...@@ -70,6 +71,14 @@ public class StudioMerchantController implements StudioMerchantApi {
return JsonResult.success(); 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}) @ApiOperation(value = "场馆解绑商户", tags = {TAG})
@PostMapping(value = "/private/studioMerchant/unbind") @PostMapping(value = "/private/studioMerchant/unbind")
@Override @Override
......
...@@ -127,4 +127,13 @@ public interface StudioMerchantService { ...@@ -127,4 +127,13 @@ public interface StudioMerchantService {
*/ */
List<StudioMerchantAuthSubChannelVO> listAuthSubChannel(Long studioId); 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 { ...@@ -273,6 +273,15 @@ public class StudioMerchantServiceImpl implements StudioMerchantService {
.map(e -> BeanUtil.map(e, StudioMerchantAuthSubChannelVO.class)).collect(Collectors.toList()); .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) { private void doOpenMerchantSuccess(MerchantEvent event) {
StudioMerchantApply apply = studioMerchantApplyRpService.getByIdForUpdate( 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