Browse Source

// sharing

release_toaliyun_real
xhxu 3 years ago
parent
commit
483ccbce55
11 changed files with 931 additions and 36 deletions
  1. +29
    -2
      mallinkBApi/src/main/java/com/iformall/controller/WxProfitSharingReceiverApplyController.java
  2. +31
    -1
      mallinkService/src/main/java/com/iformall/domain/po/WxProfitSharingReceiverApply.java
  3. +32
    -16
      mallinkService/src/main/java/com/iformall/enums/EnumSharingReceiverApplymentState.java
  4. +2
    -2
      mallinkService/src/main/java/com/iformall/enums/EnumSharingReceiverContactType.java
  5. +22
    -8
      mallinkService/src/main/java/com/iformall/enums/EnumSharingReceiverIdDocType.java
  6. +86
    -0
      mallinkService/src/main/java/com/iformall/enums/EnumSharingReceiverQualificationGth.java
  7. +86
    -0
      mallinkService/src/main/java/com/iformall/enums/EnumSharingReceiverQualificationQy.java
  8. +72
    -0
      mallinkService/src/main/java/com/iformall/enums/EnumSharingReceiverSalesScenesType.java
  9. +8
    -1
      mallinkService/src/main/java/com/iformall/service/WxProfitSharingReceiverApplyService.java
  10. +557
    -4
      mallinkService/src/main/java/com/iformall/service/impl/WxProfitSharingReceiverApplyServiceImpl.java
  11. +6
    -2
      mallinkService/src/main/resources/mapper/WxProfitSharingReceiverApplyMapper.xml

+ 29
- 2
mallinkBApi/src/main/java/com/iformall/controller/WxProfitSharingReceiverApplyController.java View File

@@ -55,14 +55,41 @@ public class WxProfitSharingReceiverApplyController extends BaseController {
if(receiverApply == null){
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "该商户进件数据异常,请联系管理员");
}
if(receiverApply.getApplymentState().intValue() > 0){
if(receiverApply.getApplymentState() != null && !EnumSharingReceiverApplymentState.getUpdList().contains(receiverApply.getApplymentState())){
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "该商户进件流程中,无法修改");
}
}else{
WxProfitSharingReceiverApply receiverApply = wxProfitSharingReceiverApplyService.selectByPlat(merchant,merchant.getId(),EnumAppPlat.WX);
if(receiverApply != null){
if(receiverApply.getApplymentState() != null && !EnumSharingReceiverApplymentState.getUpdList().contains(receiverApply.getApplymentState())){
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "该商户进件流程中,无法修改");
}
receiverAdd.setId(receiverApply.getId());
}
}

return wxProfitSharingReceiverApplyService.saveOrUpdate(receiverAdd);
}

@ApiOperation("详情")
@GetMapping("/getReceiverApply")
public ResultData getReceiverApply(Long merchantId) {
log.debug("[" + getIpAddr() + "] merchantProfitSharingReceiver::getReceiverApply");
if(merchantId == null){
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "商户ID不能为空");
}
WxMerchant merchant = wxMerchantService.selectById(merchantId);
if(merchant == null || EnumMerchantStatus.NOT_VALID.getCode().equals(merchant.getStatus())){
return new ResultData(ErrorCode.MERCHANT_INFO_NOT_VALID.getCode(),"商户不存在或已停用");
}
WxProfitSharingReceiver receiver = wxProfitSharingReceiverService.findReceiver(merchant, merchant.getId(), EnumAppPlat.WX, EnumProfitSharingType.PROFIT_SHARING_TYPE_WECHAT_v2);
if(receiver != null && MerchantImportStatus.improt_success.getCode().equals(receiver.getWxImportStatus())){
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "该商户已进件成功");
}

WxProfitSharingReceiverApply receiverApply = wxProfitSharingReceiverApplyService.detailByPlat(merchant,merchant.getId(),EnumAppPlat.WX);

return new ResultData(receiverAdd);
return new ResultData(receiverApply);
}

}

+ 31
- 1
mallinkService/src/main/java/com/iformall/domain/po/WxProfitSharingReceiverApply.java View File

@@ -1,10 +1,16 @@
package com.iformall.domain.po;

import com.alibaba.fastjson.JSONObject;
import com.aliyun.openservices.shade.io.netty.util.internal.logging.InternalLogger;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.enums.EnumSharingReceiverOrganizationType;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.Date;

@@ -25,8 +31,10 @@ public class WxProfitSharingReceiverApply extends TenantEntity {
private Integer organizationType;
@io.swagger.annotations.ApiModelProperty(value="是否金融机构",name="financeInstitution")
private Integer financeInstitution;
@io.swagger.annotations.ApiModelProperty(value="营业执照/登记证书信息",name="businessLicenseInfo")
@io.swagger.annotations.ApiModelProperty(value="营业执照信息",name="businessLicenseInfo")
private String businessLicenseInfo;
@io.swagger.annotations.ApiModelProperty(value="登记证书信息",name="certificateInfo")
private String certificateInfo;
@io.swagger.annotations.ApiModelProperty(value="金融机构许可证信息",name="financeInstitutionInfo")
private String financeInstitutionInfo;
@io.swagger.annotations.ApiModelProperty(value="EnumSharingReceiverIdHolderType 证件持有人类型",name="idHolderType")
@@ -55,8 +63,14 @@ public class WxProfitSharingReceiverApply extends TenantEntity {
private String settlementInfo;
@io.swagger.annotations.ApiModelProperty(value="商户简称",name="merchantShortname")
private String merchantShortname;
@io.swagger.annotations.ApiModelProperty(value="客服电话",name="servicePhone")
private String servicePhone;
@io.swagger.annotations.ApiModelProperty(value="经营场景",name="salesInfo")
private String salesInfo;
@io.swagger.annotations.ApiModelProperty(value="特殊资质([])",name="qualifications")
private String qualifications;
@io.swagger.annotations.ApiModelProperty(value="补充材料",name="additionInfo")
private String additionInfo;
@io.swagger.annotations.ApiModelProperty(value="补充材料([])",name="businessAdditionPics")
private String businessAdditionPics;
@io.swagger.annotations.ApiModelProperty(value="补充说明",name="businessAdditionDesc")
@@ -96,4 +110,20 @@ public class WxProfitSharingReceiverApply extends TenantEntity {
@io.swagger.annotations.ApiModelProperty(value="",name="updateTime")
private Date updateTime;

@io.swagger.annotations.ApiModelProperty(value="是否完成主题资质",name="finishMain")
@TableField(exist = false)
private Boolean finishMain;
@io.swagger.annotations.ApiModelProperty(value="是否完成经营信息",name="finishBusiness")
@TableField(exist = false)
private Boolean finishBusiness;
@io.swagger.annotations.ApiModelProperty(value="是否完成行业资质",name="finishSettlement")
@TableField(exist = false)
private Boolean finishSettlement;
@io.swagger.annotations.ApiModelProperty(value="是否完成结算帐号",name="finishBankAccount")
@TableField(exist = false)
private Boolean finishBankAccount;
@io.swagger.annotations.ApiModelProperty(value="是否完成超级管理员",name="finishBankAccount")
@TableField(exist = false)
private Boolean finishContact;

}

+ 32
- 16
mallinkService/src/main/java/com/iformall/enums/EnumSharingReceiverApplymentState.java View File

@@ -1,26 +1,31 @@
package com.iformall.enums;

import java.util.ArrayList;
import java.util.List;

/**
* 申请状态
* CHECKING:资料校验中
* ACCOUNT_NEED_VERIFY:待账户验证
* AUDITING:审核中
* REJECTED:已驳回
* NEED_SIGN:待签约
* FINISH:完成
* FROZEN:已冻结
* CANCELED:已作废
* 1、APPLYMENT_STATE_EDITTING(编辑中):提交申请发生错误导致,请尝试重新提交。
* 2、APPLYMENT_STATE_AUDITING(审核中):申请单正在审核中,超级管理员用微信打开“签约链接”,完成绑定微信号后,申请单进度将通过微信公众号通知超级管理员,引导完成后续步骤。
* 3、APPLYMENT_STATE_REJECTED(已驳回):请按照驳回原因修改申请资料,超级管理员用微信打开“签约链接”,完成绑定微信号,后续申请单进度将通过微信公众号通知超级管理员。
* 4、APPLYMENT_STATE_TO_BE_CONFIRMED(待账户验证):请超级管理员使用微信打开返回的“签约链接”,根据页面指引完成账户验证。
* 5、APPLYMENT_STATE_TO_BE_SIGNED(待签约):请超级管理员使用微信打开返回的“签约链接”,根据页面指引完成签约。
* 6、APPLYMENT_STATE_SIGNING(开通权限中):系统开通相关权限中,请耐心等待。
* 7、APPLYMENT_STATE_FINISHED(已完成):商户入驻申请已完成。
* 8、APPLYMENT_STATE_CANCELED(已作废):申请单已被撤销。
*/
public enum EnumSharingReceiverApplymentState {

CHECKING(1, "CHECKING", "资料校验中"),
ACCOUNT_NEED_VERIFY(2, "ACCOUNT_NEED_VERIFY", "待账户验证"),
AUDITING(3, "AUDITING", "审核中"),
REJECTED(4, "REJECTED", "已驳回"),
NEED_SIGN(5, "NEED_SIGN", "待签约"),
FINISH(6, "FINISH", "完成"),
FROZEN(7, "FROZEN", "已冻结"),
CANCELED(8, "CANCELED", "已作废"),
APPLYMENT_STATE_EDITTING(1,"APPLYMENT_STATE_EDITTING","编辑中"),
// APPLYMENT_STATE_CHECKING(2, "CHECKING", "资料校验中"),
APPLYMENT_STATE_AUDITING(3, "APPLYMENT_STATE_AUDITING", "审核中"),
APPLYMENT_STATE_REJECTED(4, "APPLYMENT_STATE_REJECTED", "已驳回"),
APPLYMENT_STATE_TO_BE_CONFIRMED(5, "APPLYMENT_STATE_TO_BE_CONFIRMED", "待账户验证"),
APPLYMENT_STATE_TO_BE_SIGNED(6, "APPLYMENT_STATE_TO_BE_SIGNED", "待签约"),
APPLYMENT_STATE_SIGNING(7, "APPLYMENT_STATE_SIGNING", "开通权限中"),
APPLYMENT_STATE_FINISHED(8, "APPLYMENT_STATE_FINISHED", "完成"),
// APPLYMENT_STATE_FROZEN(9, "FROZEN", "已冻结"),
APPLYMENT_STATE_CANCELED(10, "APPLYMENT_STATE_CANCELED", "已作废"),
;

public static EnumSharingReceiverApplymentState getEnum(Integer code) {
@@ -62,4 +67,15 @@ public enum EnumSharingReceiverApplymentState {
public String getMessage() {
return message;
}

/**
* 获取可修改的状态
* @return
*/
public static List<Integer> getUpdList(){
List<Integer> list = new ArrayList<>();
list.add(EnumSharingReceiverApplymentState.APPLYMENT_STATE_EDITTING.getCode());
list.add(EnumSharingReceiverApplymentState.APPLYMENT_STATE_REJECTED.getCode());
return list;
}
}

+ 2
- 2
mallinkService/src/main/java/com/iformall/enums/EnumSharingReceiverContactType.java View File

@@ -7,8 +7,8 @@ package com.iformall.enums;
*/
public enum EnumSharingReceiverContactType {

LEGAL(65, "65", "法人"),
SUPER(66, "66", "经办人"),
LEGAL(1, "LEGAL", "法人"),
SUPER(2, "SUPER", "经办人"),
;

public static EnumSharingReceiverContactType getEnum(Integer code) {


+ 22
- 8
mallinkService/src/main/java/com/iformall/enums/EnumSharingReceiverIdDocType.java View File

@@ -1,23 +1,26 @@
package com.iformall.enums;

import java.util.ArrayList;
import java.util.List;

/**
* 经营者/法人证件类型
* IDENTIFICATION_TYPE_MAINLAND_IDCARD:中国大陆居民-身份证
* IDENTIFICATION_TYPE_IDCARD:中国大陆居民-身份证
* IDENTIFICATION_TYPE_OVERSEA_PASSPORT:其他国家或地区居民-护照
* IDENTIFICATION_TYPE_HONGKONG:中国香港居民--来往内地通行证
* IDENTIFICATION_TYPE_MACAO:中国澳门居民--来往内地通行证
* IDENTIFICATION_TYPE_TAIWAN:中国台湾居民--来往大陆通行证
* IDENTIFICATION_TYPE_HONGKONG_PASSPORT:中国香港居民-来往内地通行证
* IDENTIFICATION_TYPE_MACAO_PASSPORT:中国澳门居民-来往内地通行证
* IDENTIFICATION_TYPE_TAIWAN_PASSPORT:中国台湾居民-来往大陆通行证
* IDENTIFICATION_TYPE_FOREIGN_RESIDENT:外国人居留证
* IDENTIFICATION_TYPE_HONGKONG_MACAO_RESIDENT:港澳居民证
* IDENTIFICATION_TYPE_TAIWAN_RESIDENT:台湾居民证
*/
public enum EnumSharingReceiverIdDocType {

IDENTIFICATION_TYPE_MAINLAND_IDCARD(1, "IDENTIFICATION_TYPE_MAINLAND_IDCARD", "中国大陆居民-身份证"),
IDENTIFICATION_TYPE_IDCARD(1, "IDENTIFICATION_TYPE_IDCARD", "中国大陆居民-身份证"),
IDENTIFICATION_TYPE_OVERSEA_PASSPORT(2, "IDENTIFICATION_TYPE_OVERSEA_PASSPORT", "其他国家或地区居民-护照"),
IDENTIFICATION_TYPE_HONGKONG(3, "IDENTIFICATION_TYPE_HONGKONG", "中国香港居民--来往内地通行证"),
IDENTIFICATION_TYPE_MACAO(4, "IDENTIFICATION_TYPE_MACAO", "中国澳门居民--来往内地通行证"),
IDENTIFICATION_TYPE_TAIWAN(5, "IDENTIFICATION_TYPE_TAIWAN", "中国台湾居民--来往大陆通行证"),
IDENTIFICATION_TYPE_HONGKONG_PASSPORT(3, "IDENTIFICATION_TYPE_HONGKONG_PASSPORT", "中国香港居民--来往内地通行证"),
IDENTIFICATION_TYPE_MACAO_PASSPORT(4, "IDENTIFICATION_TYPE_MACAO_PASSPORT", "中国澳门居民--来往内地通行证"),
IDENTIFICATION_TYPE_TAIWAN_PASSPORT(5, "IDENTIFICATION_TYPE_TAIWAN_PASSPORT", "中国台湾居民--来往大陆通行证"),
IDENTIFICATION_TYPE_FOREIGN_RESIDENT(6, "IDENTIFICATION_TYPE_FOREIGN_RESIDENT", "外国人居留证"),
IDENTIFICATION_TYPE_HONGKONG_MACAO_RESIDENT(7, "IDENTIFICATION_TYPE_HONGKONG_MACAO_RESIDENT", "港澳居民证"),
IDENTIFICATION_TYPE_TAIWAN_RESIDENT(8, "IDENTIFICATION_TYPE_TAIWAN_RESIDENT", "台湾居民证"),
@@ -62,4 +65,15 @@ public enum EnumSharingReceiverIdDocType {
public String getMessage() {
return message;
}

public static List<Integer> getOtherNeddBack(){
List<Integer> list = new ArrayList<>();
list.add(IDENTIFICATION_TYPE_HONGKONG_PASSPORT.getCode());
list.add(IDENTIFICATION_TYPE_MACAO_PASSPORT.getCode());
list.add(IDENTIFICATION_TYPE_TAIWAN_PASSPORT.getCode());
list.add(IDENTIFICATION_TYPE_FOREIGN_RESIDENT.getCode());
list.add(IDENTIFICATION_TYPE_HONGKONG_MACAO_RESIDENT.getCode());
list.add(IDENTIFICATION_TYPE_TAIWAN_RESIDENT.getCode());
return list;
}
}

+ 86
- 0
mallinkService/src/main/java/com/iformall/enums/EnumSharingReceiverQualificationGth.java View File

@@ -0,0 +1,86 @@
package com.iformall.enums;

/**
* 个体户行业属性及特殊资质
*/
public enum EnumSharingReceiverQualificationGth {

TYPE_1(1, "719", "餐饮",false,"建议提供:《食品经营许可证》或《餐饮服务许可证》"),
TYPE_2(2, "719", "电商平台",false,"无需特殊资质"),
TYPE_3(3, "719", "零售",false,"若涉及烟草售卖,需提供《烟草专卖零售许可证》"),
TYPE_4(4, "719", "食品生鲜",false,"建议提供:《食品经营许可证》或《食品生产许可证》或供销协议+合作方资质"),
TYPE_7(7, "719", "咨询/娱乐票务",false,"无需特殊资质"),
TYPE_10(10, "719", "房产中介",false,"无需特殊资质"),
TYPE_11(11, "719", "宠物医院",true,"《动物诊疗许可证》"),
TYPE_12(12, "719", "共享服务",true,"需提供资金监管协议。\n" +
"协议要求:\n" +
"1、主体与商业银行签订;\n" +
"2、内容针对交易资金使用和偿付进行监管;\n" +
"3、协议须在有效期内;\n" +
"4、结算账户须与资金监管账户一致。"),
TYPE_13(13, "719", "休闲娱乐/旅游服务",false,"无需特殊资质"),
TYPE_14(14, "719", "游艺厅/KTV",true,"《娱乐场所经营许可证》或《文化经营许可证》"),
TYPE_15(15, "719", "网吧",true,"《网络文化经营许可证》"),
TYPE_16(16, "719", "院线影城",true,"《电影放映经营许可证》"),
TYPE_17(17, "719", "演出赛事",true,"《营业性演出许可证》"),
TYPE_18(18, "719", "居民生活服务",false,"无需特殊资质"),
TYPE_19(19, "719", "景区/酒店",false,"无需特殊资质"),
TYPE_21(21, "719", "铁路客运",true,"收费授权证明文件(如授权证明书或合同)"),
TYPE_26(26, "719", "机票/票务代理",true,"《航空公司营业执照》或《航空公司机票代理资格证》"),
TYPE_31(31, "719", "培训机构",true,"若贵司具备以下资质,建议提供:\n" +
"1、《办学许可证》或相关批文\n" +
"2、驾校培训,提供有“驾驶员培训”项目的《道路运输经营许可证》"),
TYPE_34(34, "719", "保健器械/医疗器械/非处方药品",true,"互联网售药提供《互联网药品信息服务资格证书》+《药品经营许可证》;\n" +
"线下门店卖药提供《药品经营许可证》;\n" +
"医疗器械提供《医疗器械经营企业许可证》"),
TYPE_35(35, "719", "私立/民营医院/诊所",true,"《医疗机构执业许可证》\n" +
"中医诊所提供《中医诊所备案证》"),
TYPE_40(40, "719", "其他缴费",true,"收费授权证明文件(如授权证明书或合同)"),
TYPE_56(56, "719", "停车缴费",false,"建议提供停车收费资质"),

;

public static EnumSharingReceiverQualificationGth getEnum(Integer code) {
for (EnumSharingReceiverQualificationGth value : values()) {
if (value.getCode().equals(code)) {
return value;
}
}
return null;
}

private Integer code;
private String settlementId;
private String name;
private boolean flag;
private String message;

EnumSharingReceiverQualificationGth(Integer code, String settlementId, String name,
boolean flag,String message) {
this.code = code;
this.settlementId = settlementId;
this.name = name;
this.flag = flag;
this.message = message;
}

public Integer getCode() {
return code;
}

public String getSettlementId() {
return settlementId;
}

public String getName() {
return name;
}

public boolean isFlag() {
return flag;
}

public String getMessage() {
return message;
}
}

+ 86
- 0
mallinkService/src/main/java/com/iformall/enums/EnumSharingReceiverQualificationQy.java View File

@@ -0,0 +1,86 @@
package com.iformall.enums;

/**
* 企业行业属性及特殊资质
*/
public enum EnumSharingReceiverQualificationQy {

TYPE_1(1, "716", "餐饮",false,"建议提供:《食品经营许可证》或《餐饮服务许可证》"),
TYPE_2(2, "716", "电商平台",false,"无需特殊资质"),
TYPE_3(3, "716", "零售",false,"若涉及烟草售卖,需提供《烟草专卖零售许可证》"),
TYPE_4(4, "716", "食品生鲜",false,"建议提供:《食品经营许可证》或《食品生产许可证》或供销协议+合作方资质"),
TYPE_7(7, "716", "咨询/娱乐票务",false,"无需特殊资质"),
TYPE_10(10, "716", "房产中介",false,"无需特殊资质"),
TYPE_11(11, "716", "宠物医院",true,"《动物诊疗许可证》"),
TYPE_12(12, "716", "共享服务",true,"需提供资金监管协议。\n" +
"协议要求:\n" +
"1、主体与商业银行签订;\n" +
"2、内容针对交易资金使用和偿付进行监管;\n" +
"3、协议须在有效期内;\n" +
"4、结算账户须与资金监管账户一致。"),
TYPE_13(13, "716", "休闲娱乐/旅游服务",false,"无需特殊资质"),
TYPE_14(14, "716", "游艺厅/KTV",true,"《娱乐场所经营许可证》或《文化经营许可证》"),
TYPE_15(15, "716", "网吧",true,"《网络文化经营许可证》"),
TYPE_16(16, "716", "院线影城",true,"《电影放映经营许可证》"),
TYPE_17(17, "716", "演出赛事",true,"《营业性演出许可证》"),
TYPE_18(18, "716", "居民生活服务",false,"无需特殊资质"),
TYPE_19(19, "716", "景区/酒店",false,"无需特殊资质"),
TYPE_21(21, "716", "铁路客运",true,"收费授权证明文件(如授权证明书或合同)"),
TYPE_26(26, "716", "机票/票务代理",true,"《航空公司营业执照》或《航空公司机票代理资格证》"),
TYPE_31(31, "716", "培训机构",true,"若贵司具备以下资质,建议提供:\n" +
"1、《办学许可证》或相关批文\n" +
"2、驾校培训,提供有“驾驶员培训”项目的《道路运输经营许可证》"),
TYPE_34(34, "716", "保健器械/医疗器械/非处方药品",true,"互联网售药提供《互联网药品信息服务资格证书》+《药品经营许可证》;\n" +
"线下门店卖药提供《药品经营许可证》;\n" +
"医疗器械提供《医疗器械经营企业许可证》"),
TYPE_35(35, "716", "私立/民营医院/诊所",true,"《医疗机构执业许可证》\n" +
"中医诊所提供《中医诊所备案证》"),
TYPE_40(40, "716", "其他缴费",true,"收费授权证明文件(如授权证明书或合同)"),
TYPE_56(56, "716", "停车缴费",false,"建议提供停车收费资质"),

;

public static EnumSharingReceiverQualificationQy getEnum(Integer code) {
for (EnumSharingReceiverQualificationQy value : values()) {
if (value.getCode().equals(code)) {
return value;
}
}
return null;
}

private Integer code;
private String settlementId;
private String name;
private boolean flag;
private String message;

EnumSharingReceiverQualificationQy(Integer code, String settlementId, String name,
boolean flag, String message) {
this.code = code;
this.settlementId = settlementId;
this.name = name;
this.flag = flag;
this.message = message;
}

public Integer getCode() {
return code;
}

public String getSettlementId() {
return settlementId;
}

public String getName() {
return name;
}

public boolean isFlag() {
return flag;
}

public String getMessage() {
return message;
}
}

+ 72
- 0
mallinkService/src/main/java/com/iformall/enums/EnumSharingReceiverSalesScenesType.java View File

@@ -0,0 +1,72 @@
package com.iformall.enums;

import java.util.ArrayList;
import java.util.List;

/**
* 经营场景类型
* SALES_SCENES_STORE:线下场所
* SALES_SCENES_MP:公众号
* SALES_SCENES_MINI_PROGRAM:小程序
* SALES_SCENES_WEB:互联网网站
* SALES_SCENES_APP:APP
* SALES_SCENES_WEWORK:企业微信
*/
public enum EnumSharingReceiverSalesScenesType {

SALES_SCENES_STORE(1, "SALES_SCENES_STORE", "线下场所"),
SALES_SCENES_MP(2, "SALES_SCENES_MP", "公众号"),
SALES_SCENES_MINI_PROGRAM(3, "SALES_SCENES_MINI_PROGRAM", "小程序"),
SALES_SCENES_WEB(4, "SALES_SCENES_WEB", "互联网网站"),
SALES_SCENES_APP(5, "SALES_SCENES_APP", "APP"),
SALES_SCENES_WEWORK(6, "SALES_SCENES_WEWORK", "企业微信"),
;

public static EnumSharingReceiverSalesScenesType getEnum(Integer code) {
for (EnumSharingReceiverSalesScenesType value : values()) {
if (value.getCode().equals(code)) {
return value;
}
}
return null;
}

public static EnumSharingReceiverSalesScenesType getEnum(String codeStr) {
for (EnumSharingReceiverSalesScenesType value : values()) {
if (value.getCodeStr().equals(codeStr)) {
return value;
}
}
return null;
}

private Integer code;
private String codeStr;
private String message;

EnumSharingReceiverSalesScenesType(Integer code, String codeStr, String message) {
this.code = code;
this.codeStr = codeStr;
this.message = message;
}

public Integer getCode() {
return code;
}

public String getCodeStr() {
return codeStr;
}

public String getMessage() {
return message;
}

public static List<Integer> getAllCode() {
List<Integer> list = new ArrayList<>();
for (EnumSharingReceiverSalesScenesType value : values()) {
list.add(value.getCode());
}
return list;
}
}

+ 8
- 1
mallinkService/src/main/java/com/iformall/service/WxProfitSharingReceiverApplyService.java View File

@@ -1,6 +1,7 @@
package com.iformall.service;

import com.github.pagehelper.PageInfo;
import com.iformall.common.ResultData;
import com.iformall.domain.po.WxMerchant;
import com.iformall.domain.po.WxProfitSharingReceiverApply;
import com.iformall.domain.po.base.TenantEntity;
@@ -19,5 +20,11 @@ public interface WxProfitSharingReceiverApplyService {

WxProfitSharingReceiverApply selectById(Long id);

WxProfitSharingReceiverApply selectByPlat(TenantEntity tenantEntity, Long merid, EnumAppPlat wx);
WxProfitSharingReceiverApply selectByPlat(TenantEntity tenantEntity, Long merchantId, EnumAppPlat plat);

WxProfitSharingReceiverApply detailByPlat(TenantEntity tenantEntity, Long merchantId, EnumAppPlat plat);

ResultData saveOrUpdate(WxProfitSharingReceiverApply receiverAdd);


}

+ 557
- 4
mallinkService/src/main/java/com/iformall/service/impl/WxProfitSharingReceiverApplyServiceImpl.java View File

@@ -1,19 +1,26 @@
package com.iformall.service.impl;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.iformall.common.IdWorker;
import com.iformall.common.ResultData;
import com.iformall.domain.po.*;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.enums.EnumAppPlat;
import com.iformall.enums.EnumSharingReceiverApplyStatus;
import com.iformall.enums.*;
import com.iformall.mapper.WxProfitSharingReceiverApplyMapper;
import com.iformall.service.WxProfitSharingReceiverApplyService;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.Date;
import java.util.List;


@Service
public class WxProfitSharingReceiverApplyServiceImpl implements WxProfitSharingReceiverApplyService {
@@ -34,14 +41,560 @@ public class WxProfitSharingReceiverApplyServiceImpl implements WxProfitSharingR
}

@Override
public WxProfitSharingReceiverApply selectByPlat(TenantEntity tenantEntity, Long merchantId, EnumAppPlat wx) {
public WxProfitSharingReceiverApply selectByPlat(TenantEntity tenantEntity, Long merchantId, EnumAppPlat plat) {
WxProfitSharingReceiverApply receiverApply = new WxProfitSharingReceiverApply();
receiverApply.updateTenantInfo(tenantEntity);
receiverApply.setMerchantId(merchantId);
receiverApply.setPlat(wx.getCode());
receiverApply.setPlat(plat.getCode());
receiverApply.setStatus(EnumSharingReceiverApplyStatus.PROFIT_RECEIVER_APPLY_STATUS_VALID.getCode());
return wxProfitSharingReceiverApplyMapper.selectOne(new QueryWrapper<>(receiverApply));
}

@Override
public WxProfitSharingReceiverApply detailByPlat(TenantEntity tenantEntity, Long merchantId, EnumAppPlat plat) {
WxProfitSharingReceiverApply receiverApply = this.selectByPlat(tenantEntity, merchantId, plat);
if(receiverApply != null){
receiverApply.setFinishMain(this.isFinishMain(receiverApply));
receiverApply.setFinishBusiness(this.isFinishBankAccount(receiverApply));
receiverApply.setFinishSettlement(this.isFinishSettlement(receiverApply));
receiverApply.setFinishBankAccount(this.isFinishBankAccount(receiverApply));
receiverApply.setFinishContact(this.isFinishContact(receiverApply));
}
return receiverApply;
}

@Override
public ResultData saveOrUpdate(WxProfitSharingReceiverApply receiverAdd) {
Date now = new Date();
if(receiverAdd.getId() == null){
final IdWorker idWorker = IdWorker.get();
receiverAdd.setId(idWorker.nextId());
receiverAdd.setOutRequestNo(receiverAdd.getId().toString());
receiverAdd.setCreateTime(now);
receiverAdd.setUpdateTime(now);
wxProfitSharingReceiverApplyMapper.insert(receiverAdd);
}else{
receiverAdd.setUpdateTime(now);
wxProfitSharingReceiverApplyMapper.updateById(receiverAdd);
}
return new ResultData(receiverAdd);
}


//------------------------------------------------------------------------------------------------------------------

private boolean isFinishMain(WxProfitSharingReceiverApply record){
if(record == null){
logger.info("申请单为null");
return false;
}
EnumSharingReceiverOrganizationType enumOrganizationType = EnumSharingReceiverOrganizationType.getEnum(record.getOrganizationType());
if(enumOrganizationType == null){
logger.info("未选择主体类型");
return false;
}
if(!EnumSharingReceiverOrganizationType.GETI.equals(enumOrganizationType)
&& !EnumSharingReceiverOrganizationType.QIYE.equals(enumOrganizationType)){
logger.info("目前只支持个体工商户/企业");
return false;
}
if(record.getFinanceInstitution() != null && EnumYesOrNo.YES.getCode().equals(record.getFinanceInstitution())){
logger.info("目前不支持金融机构");
return false;
}

if(StringUtils.isBlank(record.getBusinessLicenseInfo())){
logger.info("未填写营业执照信息");
return false;
}
JSONObject businessLicenseInfoObject = JSONObject.parseObject(record.getBusinessLicenseInfo());
String license_copy = businessLicenseInfoObject.getString("license_copy");
if(StringUtils.isBlank(license_copy)){
logger.info("未上传营业执照照片");
return false;
}
String license_number = businessLicenseInfoObject.getString("license_number");
if(StringUtils.isBlank(license_number)){
logger.info("未填写营业执照注册号");
return false;
}
String merchant_name = businessLicenseInfoObject.getString("merchant_name");
if(StringUtils.isBlank(merchant_name)){
logger.info("未填写商户名称");
return false;
}
String legal_person = businessLicenseInfoObject.getString("legal_person");
if(StringUtils.isBlank(legal_person)){
logger.info("未填写个体户经营者/法人姓名");
return false;
}

EnumSharingReceiverIdDocType enumIdDocType = EnumSharingReceiverIdDocType.getEnum(record.getIdDocType());
if(enumIdDocType == null){
logger.info("未选择证件类型");
return false;
}
if(EnumSharingReceiverIdDocType.IDENTIFICATION_TYPE_IDCARD.equals(enumIdDocType)){
if(StringUtils.isBlank(record.getIdCardInfo())){
logger.info("未填写身份证信息");
return false;
}
JSONObject idCardInfoObject = JSONObject.parseObject(record.getIdCardInfo());
String id_card_copy = idCardInfoObject.getString("id_card_copy");
if(StringUtils.isBlank(id_card_copy)){
logger.info("未上传身份证人像面照片");
return false;
}
String id_card_national = idCardInfoObject.getString("id_card_national");
if(StringUtils.isBlank(id_card_national)){
logger.info("未上传身份证国徽面照片");
return false;
}
String id_card_name = idCardInfoObject.getString("id_card_name");
if(StringUtils.isBlank(id_card_name)){
logger.info("未填写身份证姓名");
return false;
}
String id_card_number = idCardInfoObject.getString("id_card_number");
if(StringUtils.isBlank(id_card_number)){
logger.info("未填写身份证号码");
return false;
}
if(EnumSharingReceiverOrganizationType.QIYE.equals(enumOrganizationType)){
String id_card_address = idCardInfoObject.getString("id_card_address");
if(StringUtils.isBlank(id_card_address)){
logger.info("未填写身份证居住地址");
return false;
}
}
String card_period_begin = idCardInfoObject.getString("card_period_begin");
if(StringUtils.isBlank(card_period_begin)){
logger.info("未填写身份证有效期开始时间");
return false;
}
String card_period_end = idCardInfoObject.getString("card_period_end");
if(StringUtils.isBlank(card_period_end)){
logger.info("未填写身份证有效期结束时间");
return false;
}
}else{
if(StringUtils.isBlank(record.getIdDocInfo())){
logger.info("未填写其他证件信息");
return false;
}
JSONObject idDocInfoObject = JSONObject.parseObject(record.getIdDocInfo());
String id_doc_copy = idDocInfoObject.getString("id_doc_copy");
if(StringUtils.isBlank(id_doc_copy)){
logger.info("未上传证件正面照片");
return false;
}
if(EnumSharingReceiverIdDocType.getOtherNeddBack().contains(enumIdDocType.getCode())){
String id_doc_copy_back = idDocInfoObject.getString("id_doc_copy_back");
if(StringUtils.isBlank(id_doc_copy_back)){
logger.info("未上传证件反面照片");
return false;
}
}
String id_doc_name = idDocInfoObject.getString("id_doc_name");
if(StringUtils.isBlank(id_doc_name)){
logger.info("未填写证件姓名");
return false;
}
String id_doc_number = idDocInfoObject.getString("id_doc_number");
if(StringUtils.isBlank(id_doc_number)){
logger.info("未填写证件号码");
return false;
}
if(EnumSharingReceiverOrganizationType.QIYE.equals(enumOrganizationType)){
String id_doc_address = idDocInfoObject.getString("id_doc_address");
if(StringUtils.isBlank(id_doc_address)){
logger.info("未填写证件居住地址");
return false;
}
}
String doc_period_begin = idDocInfoObject.getString("doc_period_begin");
if(StringUtils.isBlank(doc_period_begin)){
logger.info("未填写证件有效期开始时间");
return false;
}
String doc_period_end = idDocInfoObject.getString("doc_period_end");
if(StringUtils.isBlank(doc_period_end)){
logger.info("未填写证件有效期结束时间");
return false;
}
}

if(EnumSharingReceiverOrganizationType.QIYE.equals(enumOrganizationType)){
if(record.getOwner() == null){
logger.info("未选择经营者/法人是否为受益人");
return false;
}
if(!EnumYesOrNo.YES.getCode().equals(record.getOwner())){
if(StringUtils.isBlank(record.getUboInfoList())){
logger.info("未填写最终受益人");
return false;
}
JSONArray jsonArray = JSONArray.parseArray(record.getUboInfoList());
if(jsonArray == null || jsonArray.isEmpty()){
logger.info("未填写最终受益人");
return false;
}
for(int i = 0;i < jsonArray.size();i++){
JSONObject uboInfoObject = jsonArray.getJSONObject(i);
int n = i + 1;
Integer ubo_id_doc_type = uboInfoObject.getInteger("ubo_id_doc_type");
EnumSharingReceiverIdDocType enumUboIdDocType = EnumSharingReceiverIdDocType.getEnum(ubo_id_doc_type);
if(enumUboIdDocType == null){
logger.info("最终受益人信息列表第"+n+"个未选择证件类型");
return false;
}
String ubo_id_doc_copy = uboInfoObject.getString("ubo_id_doc_copy");
if(StringUtils.isBlank(ubo_id_doc_copy)){
logger.info("最终受益人信息列表第"+n+"个未上传证件正面照片");
return false;
}
if(!EnumSharingReceiverIdDocType.IDENTIFICATION_TYPE_OVERSEA_PASSPORT.equals(enumUboIdDocType)){
String ubo_id_doc_copy_back = uboInfoObject.getString("ubo_id_doc_copy_back");
if(StringUtils.isBlank(ubo_id_doc_copy_back)){
logger.info("最终受益人信息列表第"+n+"个未上传证件反面照片");
return false;
}
}
String ubo_id_doc_name = uboInfoObject.getString("ubo_id_doc_name");
if(StringUtils.isBlank(ubo_id_doc_name)){
logger.info("最终受益人信息列表第"+n+"个未填写证件姓名");
return false;
}
String ubo_id_doc_number = uboInfoObject.getString("ubo_id_doc_number");
if(StringUtils.isBlank(ubo_id_doc_number)){
logger.info("最终受益人信息列表第"+n+"个未填写证件号码");
return false;
}
String ubo_id_doc_address = uboInfoObject.getString("ubo_id_doc_address");
if(StringUtils.isBlank(ubo_id_doc_address)){
logger.info("最终受益人信息列表第"+n+"个未填写证件居住地");
return false;
}
String ubo_period_begin = uboInfoObject.getString("ubo_period_begin");
if(StringUtils.isBlank(ubo_period_begin)){
logger.info("最终受益人信息列表第"+n+"个未填写证件有效期开始时间");
return false;
}
String ubo_period_end = uboInfoObject.getString("ubo_period_end");
if(StringUtils.isBlank(ubo_period_end)){
logger.info("最终受益人信息列表第"+n+"个未填写证件有效期结束时间");
return false;
}
}
}
}

return true;
}

private boolean isFinishBusiness(WxProfitSharingReceiverApply record){
if(record == null){
logger.info("申请单为null");
return false;
}
EnumSharingReceiverOrganizationType enumOrganizationType = EnumSharingReceiverOrganizationType.getEnum(record.getOrganizationType());
if(enumOrganizationType == null){
logger.info("未选择主体类型");
return false;
}
if(StringUtils.isBlank(record.getMerchantShortname())){
logger.info("未填写商户简称");
return false;
}
if(StringUtils.isBlank(record.getServicePhone())){
logger.info("未填写客服电话");
return false;
}
if(StringUtils.isBlank(record.getSalesInfo())){
logger.info("未填写经营场景");
return false;
}
JSONObject salesInfoObject = JSONObject.parseObject(record.getSalesInfo());
JSONArray sales_scenes_type = salesInfoObject.getJSONArray("sales_scenes_type");
if(sales_scenes_type == null || sales_scenes_type.isEmpty()){
logger.info("未选择经营场景类型");
return false;
}

List<Integer> salesScenesTypes = sales_scenes_type.toJavaList(Integer.class);
if(!EnumSharingReceiverSalesScenesType.getAllCode().containsAll(salesScenesTypes)){
logger.info("经营场景类型错误");
return false;
}
if(salesScenesTypes.contains(EnumSharingReceiverSalesScenesType.SALES_SCENES_STORE.getCode())){
JSONObject biz_store_info = salesInfoObject.getJSONObject("biz_store_info");
if(biz_store_info == null){
logger.info("未填写线下场所场景");
return false;
}
String biz_store_name = biz_store_info.getString("biz_store_name");
if(StringUtils.isBlank(biz_store_name)){
logger.info("未填写线下场所名称");
return false;
}
String biz_address_code = biz_store_info.getString("biz_address_code");
if(StringUtils.isBlank(biz_address_code)){
logger.info("未填写线下场所省市编码");
return false;
}
JSONArray store_entrance_pic = biz_store_info.getJSONArray("store_entrance_pic");
if(store_entrance_pic == null || store_entrance_pic.isEmpty()){
logger.info("未上传线下场所门头照片");
return false;
}
JSONArray indoor_pic = biz_store_info.getJSONArray("indoor_pic");
if(indoor_pic == null || indoor_pic.isEmpty()){
logger.info("未上传线下场所内部照片");
return false;
}

}
if(salesScenesTypes.contains(EnumSharingReceiverSalesScenesType.SALES_SCENES_MP.getCode())){
JSONObject mp_info = salesInfoObject.getJSONObject("mp_info");
if(mp_info == null){
logger.info("未填写公众号场景");
return false;
}
String mp_appid = mp_info.getString("mp_appid");
String mp_sub_appid = mp_info.getString("mp_sub_appid");
if(StringUtils.isBlank(mp_appid) && StringUtils.isBlank(mp_sub_appid)){
logger.info("未填写对应公众号APPID");
return false;
}
JSONArray mp_pics = mp_info.getJSONArray("mp_pics");
if(mp_pics == null || mp_pics.isEmpty()){
logger.info("未上传公众号页面截图");
return false;
}

}
if(salesScenesTypes.contains(EnumSharingReceiverSalesScenesType.SALES_SCENES_MINI_PROGRAM.getCode())){
JSONObject mini_program_info = salesInfoObject.getJSONObject("mini_program_info");
if(mini_program_info == null){
logger.info("未填写小程序场景");
return false;
}
String mini_program_appid = mini_program_info.getString("mini_program_appid");
String mini_program_sub_appid = mini_program_info.getString("mini_program_sub_appid");
if(StringUtils.isBlank(mini_program_appid) && StringUtils.isBlank(mini_program_sub_appid)){
logger.info("未填写对应小程序APPID");
return false;
}

}
if(salesScenesTypes.contains(EnumSharingReceiverSalesScenesType.SALES_SCENES_WEB.getCode())){
JSONObject web_info = salesInfoObject.getJSONObject("web_info");
if(web_info == null){
logger.info("未填写互联网网站场景");
return false;
}
String domain = web_info.getString("domain");
if(StringUtils.isBlank(domain)){
logger.info("未填写互联网网站域名");
return false;
}
}
if(salesScenesTypes.contains(EnumSharingReceiverSalesScenesType.SALES_SCENES_APP.getCode())){
JSONObject app_info = salesInfoObject.getJSONObject("app_info");
if(app_info == null){
logger.info("未填写APP场景");
return false;
}
String app_appid = app_info.getString("app_appid");
String app_sub_appid = app_info.getString("app_sub_appid");
if(StringUtils.isBlank(app_appid) && StringUtils.isBlank(app_sub_appid)){
logger.info("未填写应用APPID");
return false;
}
JSONArray app_pics = app_info.getJSONArray("app_pics");
if(app_pics == null || app_pics.isEmpty()){
logger.info("未上传APP页面截图");
return false;
}
}
if(salesScenesTypes.contains(EnumSharingReceiverSalesScenesType.SALES_SCENES_WEWORK.getCode())){
JSONObject wework_info = salesInfoObject.getJSONObject("wework_info");
if(wework_info == null){
logger.info("未填写企业微信场景");
return false;
}
String sub_corp_id = wework_info.getString("sub_corp_id");
if(StringUtils.isBlank(sub_corp_id)){
logger.info("未填写商家企业微信CorpID");
return false;
}
JSONArray wework_pics = wework_info.getJSONArray("wework_pics");
if(wework_pics == null || wework_pics.isEmpty()){
logger.info("未上传企业微信页面截图");
return false;
}
}

return true;
}

private boolean isFinishSettlement(WxProfitSharingReceiverApply record){
if(record == null){
logger.info("申请单为null");
return false;
}
EnumSharingReceiverOrganizationType enumOrganizationType = EnumSharingReceiverOrganizationType.getEnum(record.getOrganizationType());
if(enumOrganizationType == null){
logger.info("未选择主体类型");
return false;
}

if(StringUtils.isBlank(record.getSettlementInfo())){
logger.info("未填写结算规则");
return false;
}
JSONObject settlementInfoObject = JSONObject.parseObject(record.getSettlementInfo());
String settlement_id = settlementInfoObject.getString("settlement_id");
if(StringUtils.isBlank(settlement_id)){
logger.info("未填写入驻结算规则ID");
return false;
}
String qualification_type = settlementInfoObject.getString("qualification_type");
if(StringUtils.isBlank(qualification_type)){
logger.info("未填写所属行业");
return false;
}

return true;
}

private boolean isFinishBankAccount(WxProfitSharingReceiverApply record){
if(record == null){
logger.info("申请单为null");
return false;
}
EnumSharingReceiverOrganizationType enumOrganizationType = EnumSharingReceiverOrganizationType.getEnum(record.getOrganizationType());
if(enumOrganizationType == null){
logger.info("未选择主体类型");
return false;
}

if(StringUtils.isBlank(record.getAccountInfo())){
logger.info("未填写结算银行账户");
return false;
}
JSONObject accountInfoObject = JSONObject.parseObject(record.getAccountInfo());
String bank_account_type = accountInfoObject.getString("bank_account_type");
if(StringUtils.isBlank(bank_account_type)){
logger.info("未选择结算账户类型");
return false;
}
String account_name = accountInfoObject.getString("account_name");
if(StringUtils.isBlank(account_name)){
logger.info("未填写开户名称");
return false;
}
String account_bank = accountInfoObject.getString("account_bank");
if(StringUtils.isBlank(account_bank)){
logger.info("未填写开户银行");
return false;
}

String bank_address_code = accountInfoObject.getString("bank_address_code");
if(StringUtils.isBlank(bank_address_code)){
logger.info("未填写开户银行省市编码");
return false;
}

String account_number = accountInfoObject.getString("account_number");
if(StringUtils.isBlank(account_number)){
logger.info("未填写银行帐号");
return false;
}

return true;
}

private boolean isFinishContact(WxProfitSharingReceiverApply record){
if(record == null){
logger.info("申请单为null");
return false;
}
EnumSharingReceiverOrganizationType enumOrganizationType = EnumSharingReceiverOrganizationType.getEnum(record.getOrganizationType());
if(enumOrganizationType == null){
logger.info("未选择主体类型");
return false;
}

if(StringUtils.isBlank(record.getContactInfo())){
logger.info("未填写超级管理员信息");
return false;
}
JSONObject contactInfoObject = JSONObject.parseObject(record.getContactInfo());
Integer contact_type = contactInfoObject.getInteger("contact_type");
EnumSharingReceiverContactType enumContactType = EnumSharingReceiverContactType.getEnum(contact_type);
if(enumContactType == null){
logger.info("未选择管理员类型");
return false;
}
String contact_name = contactInfoObject.getString("contact_name");
if(StringUtils.isBlank(contact_name)){
logger.info("未填写超级管理员姓名");
return false;
}
if(EnumSharingReceiverContactType.SUPER.equals(enumContactType)){
Integer contact_id_doc_type = contactInfoObject.getInteger("contact_id_doc_type");
EnumSharingReceiverIdDocType enumIdDocType = EnumSharingReceiverIdDocType.getEnum(contact_id_doc_type);
if(enumIdDocType == null){
logger.info("未选择超级管理员证件类型");
return false;
}
String contact_id_number = contactInfoObject.getString("contact_id_number");
if(StringUtils.isBlank(contact_id_number)){
logger.info("未填写超级管理员证件号码");
return false;
}
String contact_id_doc_copy = contactInfoObject.getString("contact_id_doc_copy");
if(StringUtils.isBlank(contact_id_doc_copy)){
logger.info("未上传超级管理员证件正面照片");
return false;
}
if(!EnumSharingReceiverIdDocType.IDENTIFICATION_TYPE_OVERSEA_PASSPORT.equals(enumIdDocType)){
String contact_id_doc_copy_back = contactInfoObject.getString("contact_id_doc_copy_back");
if(StringUtils.isBlank(contact_id_doc_copy_back)){
logger.info("未上传超级管理员证件反面照片");
return false;
}
}
String contact_period_begin = contactInfoObject.getString("contact_period_begin");
if(StringUtils.isBlank(contact_period_begin)){
logger.info("未填写超级管理员证件有效期开始时间");
return false;
}
String contact_period_end = contactInfoObject.getString("contact_period_end");
if(StringUtils.isBlank(contact_period_end)){
logger.info("未填写超级管理员证件有效期结束时间");
return false;
}
String business_authorization_letter = contactInfoObject.getString("business_authorization_letter");
if(StringUtils.isBlank(business_authorization_letter)){
logger.info("未上传业务办理授权函");
return false;
}
}
String mobile_phone = contactInfoObject.getString("mobile_phone");
if(StringUtils.isBlank(mobile_phone)){
logger.info("未填写超级管理员联系手机");
return false;
}
String contact_email = contactInfoObject.getString("contact_email");
if(StringUtils.isBlank(contact_email)){
logger.info("未填写超级管理员联系邮箱");
return false;
}

return true;
}


}

+ 6
- 2
mallinkService/src/main/resources/mapper/WxProfitSharingReceiverApplyMapper.xml View File

@@ -11,6 +11,7 @@
<result column="organization_type" jdbcType="INTEGER" property="organizationType" />
<result column="finance_institution" jdbcType="INTEGER" property="financeInstitution" />
<result column="business_license_info" jdbcType="VARCHAR" property="businessLicenseInfo" />
<result column="certificate_info" jdbcType="VARCHAR" property="certificateInfo" />
<result column="finance_institution_info" jdbcType="VARCHAR" property="financeInstitutionInfo" />
<result column="id_holder_type" jdbcType="INTEGER" property="idHolderType" />
<result column="id_doc_type" jdbcType="INTEGER" property="idDocType" />
@@ -25,7 +26,10 @@
<result column="sales_scene_info" jdbcType="VARCHAR" property="salesSceneInfo" />
<result column="settlement_info" jdbcType="VARCHAR" property="settlementInfo" />
<result column="merchant_shortname" jdbcType="VARCHAR" property="merchantShortname" />
<result column="service_phone" jdbcType="VARCHAR" property="servicePhone" />
<result column="sales_info" jdbcType="VARCHAR" property="salesInfo" />
<result column="qualifications" jdbcType="VARCHAR" property="qualifications" />
<result column="addition_info" jdbcType="VARCHAR" property="additionInfo" />
<result column="business_addition_pics" jdbcType="VARCHAR" property="businessAdditionPics" />
<result column="business_addition_desc" jdbcType="VARCHAR" property="businessAdditionDesc" />

@@ -52,10 +56,10 @@
<sql id="allColumns">
`id`,`tenant_id`,`parent_tenant_id`,`merchant_id`,`plat`,
`out_request_no`,`organization_type`,`finance_institution`,`business_license_info`,`finance_institution_info`,
`out_request_no`,`organization_type`,`finance_institution`,`business_license_info`,`certificate_info`,`finance_institution_info`,
`id_holder_type`,`id_doc_type`,`authorize_letter`,`authorize_letter_copy`,`id_card_info`,`id_doc_info`,
`owner`,`ubo_info_list`,`account_info`,`contact_info`,`sales_scene_info`,`settlement_info`,
`merchant_shortname`,`qualifications`,`business_addition_pics`,`business_addition_desc`,
`merchant_shortname`,`service_phone`,`sales_info`,`qualifications`,`addition_info`,`business_addition_pics`,`business_addition_desc`,
`applyment_id`,`applyment_state`,`applyment_state_desc`,`sign_state`,`sign_url`,
`sub_mchid`,`account_validation`,`audit_detail`,`legal_validation_url`,`legal_validation_qrcode`,
`verify_result`,`verify_fail_reason`,`status`,`create_time`,`update_time`


Loading…
Cancel
Save