Merge branch 'cc_20250829_openStore' into 'master'
Cc 20250829 open store See merge request hangzhou/java/custom_zxjp!157
This commit is contained in:
@@ -298,6 +298,10 @@ public enum ErrorCodeEnum {
|
|||||||
MESSAGE_TEMPLATE_NOT_SUPPORT_DELETED(1610002,"只有未发布的消息能删除,请确认!",null),
|
MESSAGE_TEMPLATE_NOT_SUPPORT_DELETED(1610002,"只有未发布的消息能删除,请确认!",null),
|
||||||
STORE_MESSAGE_REVOKE(1610003,"当前门店消息已撤销,请务重复操作",null),
|
STORE_MESSAGE_REVOKE(1610003,"当前门店消息已撤销,请务重复操作",null),
|
||||||
STORE_MESSAGE_HANDLED(1610004,"当前门店消息已处理,无法撤销!",null),
|
STORE_MESSAGE_HANDLED(1610004,"当前门店消息已处理,无法撤销!",null),
|
||||||
|
|
||||||
|
|
||||||
|
NOT_FLAGSHIP_STORE(16100005,"非直营店,无法跳过缴费阶段!",null),
|
||||||
|
NOT_FLAGSHIP_STORE_NOT_EXIST(16100006,"当前阶段加盟类型不能变更!",null),
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,8 @@ public enum JoinModeEnum {
|
|||||||
OWN_STORE(3,"加盟公司自有店"),
|
OWN_STORE(3,"加盟公司自有店"),
|
||||||
STRONG_FRANCHISE(4,"强加盟"),
|
STRONG_FRANCHISE(4,"强加盟"),
|
||||||
DIRECT_SALES_TO_JOINING(5,"老店转加盟"),
|
DIRECT_SALES_TO_JOINING(5,"老店转加盟"),
|
||||||
AFFILIATES(6,"联营店")
|
AFFILIATES(6,"联营店"),
|
||||||
|
FLAGSHIP_STORE(7,"直营店"),
|
||||||
;
|
;
|
||||||
private int code;
|
private int code;
|
||||||
private String desc;
|
private String desc;
|
||||||
|
|||||||
@@ -85,12 +85,9 @@ public class AddSignFranchiseRequest {
|
|||||||
private String mobile;
|
private String mobile;
|
||||||
|
|
||||||
@ApiModelProperty("合同编码")
|
@ApiModelProperty("合同编码")
|
||||||
@NotBlank(message = "合同编码不能为空")
|
|
||||||
private String contractCode;
|
private String contractCode;
|
||||||
@ApiModelProperty("合同金额")
|
@ApiModelProperty("合同金额")
|
||||||
@NotBlank(message = "合同金额不能为空")
|
|
||||||
private String contractAmount;
|
private String contractAmount;
|
||||||
@NotBlank(message = "合伙签约人1不能为空")
|
|
||||||
@ApiModelProperty("合伙签约人1")
|
@ApiModelProperty("合伙签约人1")
|
||||||
private String partnershipSignatoryFirst;
|
private String partnershipSignatoryFirst;
|
||||||
@ApiModelProperty("合伙签约人2")
|
@ApiModelProperty("合伙签约人2")
|
||||||
@@ -116,7 +113,6 @@ public class AddSignFranchiseRequest {
|
|||||||
private String introductionAward;
|
private String introductionAward;
|
||||||
//签约人1第几家分店
|
//签约人1第几家分店
|
||||||
@ApiModelProperty("签约人1第几家分店")
|
@ApiModelProperty("签约人1第几家分店")
|
||||||
@NotNull(message = "签约人1第哪家分店不能为空")
|
|
||||||
private Integer partnershipSignatoryFirstWhichStore;
|
private Integer partnershipSignatoryFirstWhichStore;
|
||||||
|
|
||||||
//省
|
//省
|
||||||
|
|||||||
@@ -91,20 +91,16 @@ public class BuildInformationRequest {
|
|||||||
private String juridicalHandheldIdCardReverse;
|
private String juridicalHandheldIdCardReverse;
|
||||||
|
|
||||||
@ApiModelProperty("结算人身份证信息是否和加盟商一致,false否,true是")
|
@ApiModelProperty("结算人身份证信息是否和加盟商一致,false否,true是")
|
||||||
@NotNull(message = "结算人身份证信息是否和加盟商一致不能为空")
|
|
||||||
private Boolean settlerIsSamePartner ;
|
private Boolean settlerIsSamePartner ;
|
||||||
|
|
||||||
@ApiModelProperty("结算人姓名")
|
@ApiModelProperty("结算人姓名")
|
||||||
// @NotBlank(message = "结算人姓名 不能为空")
|
|
||||||
@JsonProperty("settlerName")
|
@JsonProperty("settlerName")
|
||||||
private String settlerName;
|
private String settlerName;
|
||||||
|
|
||||||
//@NotBlank(message = "结算人身份证正面 不能为空")
|
|
||||||
@Length(max = 250 , message = "结算人身份证正面 长度不能超过250")
|
@Length(max = 250 , message = "结算人身份证正面 长度不能超过250")
|
||||||
@ApiModelProperty("结算人身份证正面(图片)")
|
@ApiModelProperty("结算人身份证正面(图片)")
|
||||||
private String settlerIdCardFront;
|
private String settlerIdCardFront;
|
||||||
|
|
||||||
@NotBlank(message = "结算人手持身份证正面 不能为空")
|
|
||||||
@Length(max = 250 , message = "结算人手持身份证正面 长度不能超过250")
|
@Length(max = 250 , message = "结算人手持身份证正面 长度不能超过250")
|
||||||
@ApiModelProperty("结算人手持身份证正面")
|
@ApiModelProperty("结算人手持身份证正面")
|
||||||
private String settlerInHandFrontPicture;
|
private String settlerInHandFrontPicture;
|
||||||
@@ -129,23 +125,19 @@ public class BuildInformationRequest {
|
|||||||
@ApiModelProperty("结算人银行卡照片")
|
@ApiModelProperty("结算人银行卡照片")
|
||||||
private String settlerBankPhotoUrl;
|
private String settlerBankPhotoUrl;
|
||||||
|
|
||||||
@NotBlank(message = "结算人银行卡背面照片 不能为空")
|
|
||||||
@Length(max = 250, message = "结算人银行卡背面照片 长度不能超过250")
|
@Length(max = 250, message = "结算人银行卡背面照片 长度不能超过250")
|
||||||
@ApiModelProperty("结算人银行卡背面照片")
|
@ApiModelProperty("结算人银行卡背面照片")
|
||||||
@JsonProperty("settlerBankBackPhotoUrl")
|
@JsonProperty("settlerBankBackPhotoUrl")
|
||||||
private String settlerBankBackPhotoUrl;
|
private String settlerBankBackPhotoUrl;
|
||||||
|
|
||||||
@NotBlank(message = "结算人银行卡号 不能为空")
|
|
||||||
@Length(max = 64 , message = "结算人银行卡号 长度不能超过64")
|
@Length(max = 64 , message = "结算人银行卡号 长度不能超过64")
|
||||||
@ApiModelProperty("结算人银行卡号")
|
@ApiModelProperty("结算人银行卡号")
|
||||||
private String settlerBankNumber;
|
private String settlerBankNumber;
|
||||||
|
|
||||||
@NotBlank(message = "结算人银行卡预留手机号 不能为空")
|
|
||||||
@Length(min = 11,max = 11 , message = "结算人银行卡预留手机号 长度必须为11")
|
@Length(min = 11,max = 11 , message = "结算人银行卡预留手机号 长度必须为11")
|
||||||
@ApiModelProperty("结算人银行卡预留手机号")
|
@ApiModelProperty("结算人银行卡预留手机号")
|
||||||
private String settlerBankMobile;
|
private String settlerBankMobile;
|
||||||
|
|
||||||
@NotBlank(message = "结算开户银行支行 不能为空")
|
|
||||||
@Length(max =100, message = "结算开户银行支行 长度不能超过100")
|
@Length(max =100, message = "结算开户银行支行 长度不能超过100")
|
||||||
@ApiModelProperty("结算开户银行支行")
|
@ApiModelProperty("结算开户银行支行")
|
||||||
private String settlerBankName;
|
private String settlerBankName;
|
||||||
|
|||||||
@@ -128,6 +128,9 @@ public class OrderSysInfoRequest {
|
|||||||
if (Objects.equals(joinMode, JoinModeEnum.OWN_STORE.getCode())&&this.shopCode!=null){
|
if (Objects.equals(joinMode, JoinModeEnum.OWN_STORE.getCode())&&this.shopCode!=null){
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
if (Objects.equals(joinMode, JoinModeEnum.FLAGSHIP_STORE.getCode())&&this.shopCode!=null){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
if (StringUtils.isAnyBlank(this.receivingFirmName,this.receivingMsBankAccount,this.receivingMsBankBranch,this.bankUnionPayAccount,this.shopCode)){
|
if (StringUtils.isAnyBlank(this.receivingFirmName,this.receivingMsBankAccount,this.receivingMsBankBranch,this.bankUnionPayAccount,this.shopCode)){
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,6 +23,13 @@ public interface FranchiseFeeService {
|
|||||||
*/
|
*/
|
||||||
FranchiseFeeResponse getDetail(Long shopId);
|
FranchiseFeeResponse getDetail(Long shopId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 跳过 Stage
|
||||||
|
* @param shopId
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
Boolean stageSkip(Long shopId);
|
||||||
|
|
||||||
Boolean auditFranchiseFee(AuditFranchiseFeeRequest request, LoginUserInfo user);
|
Boolean auditFranchiseFee(AuditFranchiseFeeRequest request, LoginUserInfo user);
|
||||||
|
|
||||||
ApiResponse<Boolean> changePaymentStatus(FranchiseFeeCallBackRequest request);
|
ApiResponse<Boolean> changePaymentStatus(FranchiseFeeCallBackRequest request);
|
||||||
|
|||||||
@@ -201,6 +201,16 @@ public class BuildInformationServiceImpl implements BuildInformationService {
|
|||||||
try {
|
try {
|
||||||
acquired = redisUtilPool.setNxExpire(lockKey, lockValue, CommonConstants.TEN_SECONDS);
|
acquired = redisUtilPool.setNxExpire(lockKey, lockValue, CommonConstants.TEN_SECONDS);
|
||||||
if (Boolean.TRUE.equals(acquired)) {
|
if (Boolean.TRUE.equals(acquired)) {
|
||||||
|
ShopInfoDO shopInfoDO = shopInfoDAO.getShopInfo(request.getShopId());
|
||||||
|
if (JoinModeEnum.FLAGSHIP_STORE.getCode()!=shopInfoDO.getJoinMode()){
|
||||||
|
//校验结算人非空
|
||||||
|
if (StringUtils.isAnyBlank(request.getSettlerName(),request.getSettlerIdCardFront(),
|
||||||
|
request.getSettlerInHandFrontPicture(),request.getSettlerBankBackPhotoUrl(),
|
||||||
|
request.getSettlerBankNumber(),request.getSettlerBankMobile(),request.getSettlerBankName())) {
|
||||||
|
throw new ServiceException(ErrorCodeEnum.PARAMS_VALIDATE_ERROR);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
BuildInformationDO informationDO = buildInformationDAO.selectOneByShopId(request.getShopId());
|
BuildInformationDO informationDO = buildInformationDAO.selectOneByShopId(request.getShopId());
|
||||||
BuildInformationDO buildInformationDO = request.toDO();
|
BuildInformationDO buildInformationDO = request.toDO();
|
||||||
OrderSysInfoDO orderSysInfoDO = getOrderSysInfoDO(request);
|
OrderSysInfoDO orderSysInfoDO = getOrderSysInfoDO(request);
|
||||||
@@ -210,7 +220,6 @@ public class BuildInformationServiceImpl implements BuildInformationService {
|
|||||||
} else {
|
} else {
|
||||||
orderSysInfoDAO.insertSelective(orderSysInfoDO);
|
orderSysInfoDAO.insertSelective(orderSysInfoDO);
|
||||||
}
|
}
|
||||||
ShopInfoDO shopInfoDO = shopInfoDAO.getShopInfo(request.getShopId());
|
|
||||||
LineInfoDO lineInfoDO = lineInfoDAO.getLineInfo(shopInfoDO.getLineId());
|
LineInfoDO lineInfoDO = lineInfoDAO.getLineInfo(shopInfoDO.getLineId());
|
||||||
QualificationsInfoDO qualificationsInfoDO = qualificationsInfoDAO.getByLineId(lineInfoDO.getId());
|
QualificationsInfoDO qualificationsInfoDO = qualificationsInfoDAO.getByLineId(lineInfoDO.getId());
|
||||||
if (request.getJuridicalIsSamePartner()) {
|
if (request.getJuridicalIsSamePartner()) {
|
||||||
@@ -219,7 +228,7 @@ public class BuildInformationServiceImpl implements BuildInformationService {
|
|||||||
buildInformationDO.setJuridicalIdCardFront(qualificationsInfoDO.getFrontOfIdCard());
|
buildInformationDO.setJuridicalIdCardFront(qualificationsInfoDO.getFrontOfIdCard());
|
||||||
buildInformationDO.setJuridicalIdCardReverse(qualificationsInfoDO.getBackOfIdCard());
|
buildInformationDO.setJuridicalIdCardReverse(qualificationsInfoDO.getBackOfIdCard());
|
||||||
}
|
}
|
||||||
if (request.getSettlerIsSamePartner()) {
|
if (request.getSettlerIsSamePartner()!=null&&request.getSettlerIsSamePartner()) {
|
||||||
buildInformationDO.setSettlerIdCardNo(qualificationsInfoDO.getIdCardNo());
|
buildInformationDO.setSettlerIdCardNo(qualificationsInfoDO.getIdCardNo());
|
||||||
buildInformationDO.setSettlerName(lineInfoDO.getUsername());
|
buildInformationDO.setSettlerName(lineInfoDO.getUsername());
|
||||||
buildInformationDO.setSettlerIdCardFront(qualificationsInfoDO.getFrontOfIdCard());
|
buildInformationDO.setSettlerIdCardFront(qualificationsInfoDO.getFrontOfIdCard());
|
||||||
|
|||||||
@@ -139,6 +139,24 @@ public class FranchiseFeeServiceImpl implements FranchiseFeeService {
|
|||||||
return resp;
|
return resp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean stageSkip(Long shopId) {
|
||||||
|
//校验是否是自营店FLAGSHIP_STORE
|
||||||
|
ShopInfoDO shopInfoDO = shopInfoMapper.selectByPrimaryKey(shopId);
|
||||||
|
if (shopInfoDO==null){
|
||||||
|
throw new ServiceException(ErrorCodeEnum.SHOP_NOT_EXIST);
|
||||||
|
}
|
||||||
|
if (JoinModeEnum.FLAGSHIP_STORE.getCode()!=shopInfoDO.getJoinMode()){
|
||||||
|
throw new ServiceException(ErrorCodeEnum.NOT_FLAGSHIP_STORE);
|
||||||
|
}
|
||||||
|
ShopStageInfoDO shopStageInfo = shopStageInfoDAO.getShopSubStageInfo(shopId, ShopSubStageEnum.SHOP_STAGE_7);
|
||||||
|
if (!shopStageInfo.getShopSubStageStatus().equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_70.getShopSubStageStatus())){
|
||||||
|
throw new ServiceException(ErrorCodeEnum.NOT_ALLOW_OPERATE);
|
||||||
|
}
|
||||||
|
shopStageInfoDAO.batchUpdateShopStageStatus(shopId,Arrays.asList(SHOP_SUB_STAGE_STATUS_73,SHOP_SUB_STAGE_STATUS_80));
|
||||||
|
return Boolean.TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Boolean auditFranchiseFee(AuditFranchiseFeeRequest request, LoginUserInfo user) {
|
public Boolean auditFranchiseFee(AuditFranchiseFeeRequest request, LoginUserInfo user) {
|
||||||
ShopStageInfoDO shopStageInfo = shopStageInfoDAO.getShopSubStageInfo(request.getShopId(), ShopSubStageEnum.SHOP_STAGE_7);
|
ShopStageInfoDO shopStageInfo = shopStageInfoDAO.getShopSubStageInfo(request.getShopId(), ShopSubStageEnum.SHOP_STAGE_7);
|
||||||
|
|||||||
@@ -437,7 +437,16 @@ public class ShopServiceImpl implements ShopService {
|
|||||||
if(StringUtils.isNotEmpty(request.getShopCode())&&this.checkShopCodeRepeat(request.getShopCode(), request.getShopId())){
|
if(StringUtils.isNotEmpty(request.getShopCode())&&this.checkShopCodeRepeat(request.getShopCode(), request.getShopId())){
|
||||||
throw new ServiceException(ErrorCodeEnum.SHOP_CODE_EXIST);
|
throw new ServiceException(ErrorCodeEnum.SHOP_CODE_EXIST);
|
||||||
}
|
}
|
||||||
|
//新增校验 缴费阶段之后 不能修改加盟模式
|
||||||
|
ShopStageInfoDO shopSubStageInfo = shopStageInfoDAO.getShopSubStageInfo(request.getShopId(), ShopSubStageEnum.SHOP_STAGE_7);
|
||||||
|
//缴费阶段之后 加盟模式不能切换为直营店 直营店也不能切换为其他店
|
||||||
ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(request.getShopId());
|
ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(request.getShopId());
|
||||||
|
if (shopSubStageInfo.getShopSubStageStatus()>ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_70.getShopSubStageStatus()){
|
||||||
|
if (request.getJoinMode()!=shopInfo.getJoinMode()&&
|
||||||
|
(request.getShopId()!=JoinModeEnum.FLAGSHIP_STORE.getCode()||shopInfo.getJoinMode()!=JoinModeEnum.FLAGSHIP_STORE.getCode())){
|
||||||
|
throw new ServiceException(ErrorCodeEnum.NOT_FLAGSHIP_STORE_NOT_EXIST);
|
||||||
|
}
|
||||||
|
}
|
||||||
shopInfo.setUpdateUserId(userId);
|
shopInfo.setUpdateUserId(userId);
|
||||||
shopInfo.setUpdateTime(new Date());
|
shopInfo.setUpdateTime(new Date());
|
||||||
if (StringUtils.isNotEmpty(request.getShopCode())){
|
if (StringUtils.isNotEmpty(request.getShopCode())){
|
||||||
|
|||||||
@@ -553,12 +553,14 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu
|
|||||||
addSignFranchiseResponse.setPartnershipSignatoryFirstWhichStore(signFranchiseDO.getPartnershipSignatoryFirstWhichStore());
|
addSignFranchiseResponse.setPartnershipSignatoryFirstWhichStore(signFranchiseDO.getPartnershipSignatoryFirstWhichStore());
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
if (Objects.nonNull(franchiseFeeDO)) {
|
||||||
BigDecimal total = new BigDecimal(franchiseFeeDO.getYearFranchiseFee())
|
BigDecimal total = new BigDecimal(franchiseFeeDO.getYearFranchiseFee())
|
||||||
.add(new BigDecimal(franchiseFeeDO.getLoanMargin()))
|
.add(new BigDecimal(franchiseFeeDO.getLoanMargin()))
|
||||||
.add(new BigDecimal(franchiseFeeDO.getFirstYearFee()))
|
.add(new BigDecimal(franchiseFeeDO.getFirstYearFee()))
|
||||||
.add(new BigDecimal(franchiseFeeDO.getFirstYearManageFee()))
|
.add(new BigDecimal(franchiseFeeDO.getFirstYearManageFee()))
|
||||||
.add(new BigDecimal(franchiseFeeDO.getPerformanceBond()));
|
.add(new BigDecimal(franchiseFeeDO.getPerformanceBond()));
|
||||||
addSignFranchiseResponse.setContractAmount(total.toString());
|
addSignFranchiseResponse.setContractAmount(total.toString());
|
||||||
|
}
|
||||||
addSignFranchiseResponse.setMobile(lineInfoDO.getMobile());
|
addSignFranchiseResponse.setMobile(lineInfoDO.getMobile());
|
||||||
}
|
}
|
||||||
addSignFranchiseResponse.setStoreName(shopInfoDO.getShopName());
|
addSignFranchiseResponse.setStoreName(shopInfoDO.getShopName());
|
||||||
|
|||||||
@@ -35,6 +35,11 @@ public class PCFranchiseFeeController {
|
|||||||
return ResponseResult.success(franchiseFeeService.update(request));
|
return ResponseResult.success(franchiseFeeService.update(request));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiOperation("缴费阶段跳过")
|
||||||
|
@GetMapping("/stageSkip")
|
||||||
|
public ResponseResult<Boolean> stageSkip(@RequestParam("shopId") Long shopId) {
|
||||||
|
return ResponseResult.success(franchiseFeeService.stageSkip(shopId));
|
||||||
|
}
|
||||||
|
|
||||||
@ApiOperation("基本信息查询")
|
@ApiOperation("基本信息查询")
|
||||||
@GetMapping("/getDetail")
|
@GetMapping("/getDetail")
|
||||||
|
|||||||
Reference in New Issue
Block a user