入驻审核状态调整,bug 修复
This commit is contained in:
parent
764ebfbc48
commit
2d2b0364f0
@ -45,11 +45,12 @@ public class CommonConstant {
|
||||
public static final Integer PRODUCT_DATA_SOURCE_USER = 1;
|
||||
public static final Integer PRODUCT_DATA_SOURCE_SX = 2;
|
||||
|
||||
// 入驻商家的审批状态:1-已通过;2-未通过;3-待审核;4-未申请;
|
||||
// 入驻商家的审批状态:1-已通过;2-未通过;3-待审核;4-未申请过;5-已提交拉卡拉审核;
|
||||
public static final Integer MCH_APPR_STA_PASS = 1;
|
||||
public static final Integer MCH_APPR_STA_NOPASS = 2;
|
||||
public static final Integer MCH_APPR_STA_PADDING = 3;
|
||||
public static final Integer MCH_APPR_STA_NONE = 4;
|
||||
public static final Integer MCH_APPR_STA_LKL_PADDING = 5;
|
||||
|
||||
// 入驻商家主体类型,企业或个人:1-企业;2-个人;
|
||||
public static final Integer MCH_ENTITY_TYPE_QY = 1;
|
||||
|
||||
@ -81,16 +81,11 @@ public class ShopMchEntry implements Serializable {
|
||||
@ApiModelProperty(value = "邮箱")
|
||||
private String email;
|
||||
|
||||
@ApiModelProperty(value = "入驻商家店铺所在的省")
|
||||
private String province_id;
|
||||
|
||||
@ApiModelProperty(value = "入驻商家店铺所在的市")
|
||||
private String city_id;
|
||||
@ApiModelProperty(value = "店铺地区编号,省份code/城市code/区code")
|
||||
private String store_district;
|
||||
|
||||
@ApiModelProperty(value = "入驻商家店铺所在的县区")
|
||||
private String county_id;
|
||||
|
||||
@ApiModelProperty(value = "店铺地区 省份/城市/乡县")
|
||||
@ApiModelProperty(value = "店铺地区名称,省份/城市/区")
|
||||
private String store_area;
|
||||
|
||||
@ApiModelProperty(value = "入驻商家店铺的详细地址")
|
||||
@ -177,10 +172,10 @@ public class ShopMchEntry implements Serializable {
|
||||
@ApiModelProperty(value = "结算账户银行卡图片")
|
||||
private String bank_image;
|
||||
|
||||
@ApiModelProperty(value = "结算账号省市区code 省code/市code/区code,必填项")
|
||||
@ApiModelProperty(value = "结算账号省市区编号 省code/市code/区code,必填项")
|
||||
private String bank_district;
|
||||
|
||||
@ApiModelProperty(value = "结算银行地区,格式: 省份/城市/乡县")
|
||||
@ApiModelProperty(value = "结算银行地区名称,格式: 省份/城市/区")
|
||||
private String bank_area;
|
||||
|
||||
@ApiModelProperty(value = "结算账号类型:57-对公 58-对私")
|
||||
|
||||
@ -47,7 +47,7 @@ public class LklTkController extends BaseControllerImpl {
|
||||
@ApiOperation(value = "拉卡拉进件申请", notes = "拉卡拉进件申请")
|
||||
@RequestMapping(value = "/registrationMerchant", method = {RequestMethod.POST, RequestMethod.GET})
|
||||
public CommonResult registrationMerchant(@RequestBody JSONObject paramsJSON) {
|
||||
Pair<Boolean, String> resp = lklTkService.registrationMerchant(paramsJSON.getStr("mchMobile"));
|
||||
Pair<Boolean, String> resp = lklTkService.registrationMerchant(paramsJSON.getStr("mchMobile"), paramsJSON.getStr("bizLicenseNumber"));
|
||||
if (resp.getFirst()) {
|
||||
return CommonResult.success(null, resp.getSecond());
|
||||
}
|
||||
|
||||
@ -218,7 +218,7 @@ public class LklLedgerReceiverServiceImpl extends BaseServiceImpl<LklLedgerRecei
|
||||
}
|
||||
|
||||
// 更新多个状态
|
||||
lklLedgerMemberService.updateMulStatus(merCupNo, 0, 0, 1, 0);
|
||||
lklLedgerMemberService.updateMulStatus(merCupNo, "", 0, 0, 1, 0);
|
||||
success += 1;
|
||||
}
|
||||
|
||||
|
||||
@ -23,6 +23,7 @@ import com.suisung.mall.common.utils.RestTemplateHttpUtil;
|
||||
import com.suisung.mall.common.utils.StringUtils;
|
||||
import com.suisung.mall.common.utils.UploadUtil;
|
||||
import com.suisung.mall.core.web.service.RedisService;
|
||||
import com.suisung.mall.shop.esign.service.EsignContractFillingFileService;
|
||||
import com.suisung.mall.shop.esign.service.EsignContractService;
|
||||
import com.suisung.mall.shop.lakala.service.LklLedgerReceiverService;
|
||||
import com.suisung.mall.shop.lakala.utils.LakalaUtil;
|
||||
@ -90,6 +91,10 @@ public class LklTkServiceImpl {
|
||||
@Resource
|
||||
private EsignContractService esignContractService;
|
||||
|
||||
@Lazy
|
||||
@Resource
|
||||
private EsignContractFillingFileService esignContractFillingFileService;
|
||||
|
||||
@Lazy
|
||||
@Resource
|
||||
private OssServiceImpl ossService;
|
||||
@ -322,7 +327,7 @@ public class LklTkServiceImpl {
|
||||
* @param mchMobile 商家手机号
|
||||
* @return
|
||||
*/
|
||||
public Pair<Boolean, String> registrationMerchant(String mchMobile) {
|
||||
public Pair<Boolean, String> registrationMerchant(String mchMobile, String bizLicenseNumber) {
|
||||
String authorization = getLklTkAuthorization();
|
||||
if (StrUtil.isBlank(authorization)) {
|
||||
return Pair.of(false, "获取拉卡拉token失败");
|
||||
@ -332,7 +337,7 @@ public class LklTkServiceImpl {
|
||||
header.put("Authorization", getLklTkAuthorization());
|
||||
|
||||
// 获取商家入驻信息,组成请求参数
|
||||
ShopMchEntry shopMchEntry = shopMchEntryService.getShopMerchEntryByCondition(mchMobile, null, CommonConstant.MCH_APPR_STA_PASS);
|
||||
ShopMchEntry shopMchEntry = shopMchEntryService.getShopMerchEntryByCondition(mchMobile, bizLicenseNumber, CommonConstant.MCH_APPR_STA_LKL_PADDING);
|
||||
if (ObjectUtil.isEmpty(shopMchEntry)) {
|
||||
return Pair.of(false, "商家入驻信息不存在");
|
||||
}
|
||||
@ -420,7 +425,7 @@ public class LklTkServiceImpl {
|
||||
JSONObject bizContent = new JSONObject();
|
||||
bizContent.put("activityId", 687);
|
||||
bizContent.put("termNum", "1");
|
||||
bizContent.put("mcc", "12015"); // 超市的 code
|
||||
bizContent.put("mcc", "5311"); // 超市的 code
|
||||
bizContent.put("fees", new JSONArray() {{
|
||||
put(new JSONObject() {{
|
||||
put("feeCode", "WECHAT");
|
||||
@ -493,6 +498,7 @@ public class LklTkServiceImpl {
|
||||
if (!success) {
|
||||
return Pair.of(false, "提交进件成功,但更新商户号失败!");
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
logger.error("拉卡拉进件异常:{}", e.getMessage());
|
||||
return Pair.of(false, "进件失败:" + e.getMessage());
|
||||
@ -553,11 +559,24 @@ public class LklTkServiceImpl {
|
||||
return new JSONObject().set("code", "500").set("message", "更新商户号失败");
|
||||
}
|
||||
|
||||
logger.debug("###开始异步执行生成电子合同模版和填充模版数据,并生该商家和平台方签署的未盖章合同文件###");
|
||||
// 生成电子合同模版和填充模版数据,并生该商家和平台方签署的未盖章合同文件
|
||||
Boolean genSuccess = esignContractFillingFileService.fillDocTemplate(shopMchEntry.getLogin_mobile(), "");
|
||||
if (!genSuccess) {
|
||||
logger.error("###商家入驻电子合同生成失败###");
|
||||
}
|
||||
|
||||
// 1、发起E签宝合同签署;签署完成之后,生成分账盖章协议书,下一步才能申请分账功能权限;
|
||||
esignContractService.innerSignFlowCreateByFile(shopMchEntry.getLogin_mobile());
|
||||
Pair<Boolean, String> resPair = esignContractService.innerSignFlowCreateByFile(shopMchEntry.getLogin_mobile());
|
||||
if (!resPair.getFirst()) {
|
||||
logger.error("###商家发起电子签名失败:{}###", resPair.getSecond());
|
||||
}
|
||||
|
||||
// 2:新增一个接收方记录,起码要一个平台方,代理商根据入驻信息新增
|
||||
lklLedgerReceiverService.innerApplyLedgerReceiver(merCupNo, shopMchEntry.getDistributor_id());
|
||||
genSuccess = lklLedgerReceiverService.innerApplyLedgerReceiver(merCupNo, shopMchEntry.getDistributor_id());
|
||||
if (!genSuccess) {
|
||||
logger.error("###申请分账接收方失败###");
|
||||
}
|
||||
|
||||
return new JSONObject().set("code", "200").set("message", "成功");
|
||||
}
|
||||
|
||||
@ -30,6 +30,7 @@ import com.suisung.mall.shop.components.TaskService;
|
||||
import com.suisung.mall.shop.esign.service.EsignContractFillingFileService;
|
||||
import com.suisung.mall.shop.esign.service.EsignContractService;
|
||||
import com.suisung.mall.shop.esign.service.EsignPlatformInfoService;
|
||||
import com.suisung.mall.shop.lakala.service.impl.LklTkServiceImpl;
|
||||
import com.suisung.mall.shop.message.service.ShopMessageTemplateService;
|
||||
import com.suisung.mall.shop.store.mapper.ShopMchEntryMapper;
|
||||
import com.suisung.mall.shop.store.service.ShopMchEntryService;
|
||||
@ -76,6 +77,10 @@ public class ShopMchEntryServiceImpl extends BaseServiceImpl<ShopMchEntryMapper,
|
||||
@Resource
|
||||
private ShopBaseStoreCategoryService shopBaseStoreCategoryService;
|
||||
|
||||
@Lazy
|
||||
@Resource
|
||||
private LklTkServiceImpl lklTkService;
|
||||
|
||||
@Autowired
|
||||
private TaskService taskService;
|
||||
|
||||
@ -129,7 +134,7 @@ public class ShopMchEntryServiceImpl extends BaseServiceImpl<ShopMchEntryMapper,
|
||||
|
||||
ShopMchEntry record = JSONUtil.toBean(shopMerchEntryJSON, ShopMchEntry.class);
|
||||
if (record == null || StrUtil.isBlank(record.getLogin_mobile())) {
|
||||
log.error("###商家入驻参数转换失败###");
|
||||
log.error("###商家入驻参数转换失败###{}", shopMerchEntryJSON);
|
||||
return CommonResult.failed("参数转换失败,请联系管理员!");
|
||||
}
|
||||
|
||||
@ -147,6 +152,11 @@ public class ShopMchEntryServiceImpl extends BaseServiceImpl<ShopMchEntryMapper,
|
||||
return CommonResult.failed("请填写联系人!");
|
||||
}
|
||||
|
||||
if (StrUtil.isBlank(record.getStore_area()) || StrUtil.isBlank(record.getBank_area())) {
|
||||
return CommonResult.failed("请指定店铺或银行的省市区!");
|
||||
}
|
||||
|
||||
|
||||
// 校验身份证,手机号格式
|
||||
if (StrUtil.isNotBlank(record.getLegal_person_id_number()) && !StringUtils.validateIDCard(record.getLegal_person_id_number())) {
|
||||
return CommonResult.failed("法人身份证号码有误!");
|
||||
@ -192,7 +202,11 @@ public class ShopMchEntryServiceImpl extends BaseServiceImpl<ShopMchEntryMapper,
|
||||
}
|
||||
|
||||
if (!BankUtil.isValidZHBankAccount(record.getAccount_number())) {
|
||||
return CommonResult.failed("收款账号(银行卡号)格式有误!");
|
||||
return CommonResult.failed("银行卡号格式有误!");
|
||||
}
|
||||
|
||||
if (StrUtil.isBlank(record.getOpenning_bank_code()) || StrUtil.isBlank(record.getClearing_bank_code())) {
|
||||
return CommonResult.failed("请填写银行开户行号或结算行号!");
|
||||
}
|
||||
|
||||
if (StrUtil.isNotBlank(record.getStore_name()) && shopStoreBaseService.isExistsByStoreName(record.getStore_name())) {
|
||||
@ -440,7 +454,7 @@ public class ShopMchEntryServiceImpl extends BaseServiceImpl<ShopMchEntryMapper,
|
||||
* 商家入驻审批
|
||||
*
|
||||
* @param id
|
||||
* @param approvalStatus 入驻商家的审批状态:1-已通过;2-未通过;3-待审核;4-未申请;
|
||||
* @param approvalStatus 入驻商家的审批状态:1-已通过;2-未通过;3-待审核;4-未申请过;5-已提交拉卡拉审核;;
|
||||
* @param approvalRemark 审批备注
|
||||
* @param approvalInvalidCol 审批无效字段
|
||||
* @return
|
||||
@ -460,7 +474,7 @@ public class ShopMchEntryServiceImpl extends BaseServiceImpl<ShopMchEntryMapper,
|
||||
return CommonResult.failed("缺少必要参数!");
|
||||
}
|
||||
|
||||
if (!approvalStatus.equals(CommonConstant.Enable) && !approvalStatus.equals(CommonConstant.Disable2)) {
|
||||
if (!approvalStatus.equals(CommonConstant.MCH_APPR_STA_LKL_PADDING) && !approvalStatus.equals(CommonConstant.MCH_APPR_STA_NOPASS)) {
|
||||
return CommonResult.failed("审批状态有误!");
|
||||
}
|
||||
|
||||
@ -471,15 +485,18 @@ public class ShopMchEntryServiceImpl extends BaseServiceImpl<ShopMchEntryMapper,
|
||||
|
||||
// TODO 已经审核通过的,不能再审核了。
|
||||
UpdateWrapper<ShopMchEntry> updateWrapper = new UpdateWrapper<>();
|
||||
if (approvalStatus.equals(CommonConstant.Enable) && StrUtil.isBlank(approvalRemark)) {
|
||||
if (approvalStatus.equals(CommonConstant.MCH_APPR_STA_LKL_PADDING) && StrUtil.isBlank(approvalRemark)) {
|
||||
// 审核通过
|
||||
approvalRemark = "审核通过,后续将向您发起签署电子合同流程。";
|
||||
approvalRemark = "初步审核通过,等待进一步审核。";//"审核通过,后续将向您发起签署电子合同流程。";
|
||||
updateWrapper.set("signed_status", CommonConstant.CONTRACT_SIGN_STA_ING);
|
||||
} else if (approvalStatus.equals(CommonConstant.Disable2) && StrUtil.isBlank(approvalRemark)) {
|
||||
updateWrapper.set("approval_status", CommonConstant.MCH_APPR_STA_LKL_PADDING); // 进入拉卡拉审核中
|
||||
|
||||
log.info("准备提交给拉卡拉进件审核。");
|
||||
} else if (approvalStatus.equals(CommonConstant.MCH_APPR_STA_NOPASS) && StrUtil.isBlank(approvalRemark)) {
|
||||
approvalRemark = "审核未通过,请继续完善入驻资料信息。";
|
||||
}
|
||||
|
||||
// 自动计算商家分成比例
|
||||
// 重要备注:自动计算商家分成比例
|
||||
record.setSplit_ratio(shopBaseStoreCategoryService.getStoreCategoryRatio(record.getBiz_category()));
|
||||
|
||||
updateWrapper.eq("id", id)
|
||||
@ -496,21 +513,26 @@ public class ShopMchEntryServiceImpl extends BaseServiceImpl<ShopMchEntryMapper,
|
||||
return CommonResult.failed("系统处理审批出错,请联系管理员!");
|
||||
}
|
||||
|
||||
// TODO 审核通过后,去拉卡拉进件,即时发送短信给商家,通知准备去签电子合同
|
||||
if (approvalStatus.equals(CommonConstant.Enable)) {
|
||||
// 多线程执行电子合同生成和填充
|
||||
taskService.executeTask(() -> {
|
||||
log.debug("###开始异步执行生成电子合同模版和填充模版数据,并生该商家和平台方签署的未盖章合同文件###");
|
||||
// 生成电子合同模版和填充模版数据,并生该商家和平台方签署的未盖章合同文件
|
||||
Boolean genSuccess = esignContractFillingFileService.fillDocTemplate(record.getLogin_mobile(), "");
|
||||
if (!genSuccess) {
|
||||
log.error("###商家入驻电子合同生成失败###");
|
||||
}
|
||||
|
||||
// 发短信通知商家,入驻申请已通过审核
|
||||
});
|
||||
// TODO 审核通过后,触发去拉卡拉进件,系统审核
|
||||
Pair<Boolean, String> resultPair = lklTkService.registrationMerchant(record.getLogin_mobile(), record.getBiz_license_number());
|
||||
if (!resultPair.getFirst()) {
|
||||
return CommonResult.failed(resultPair.getSecond());
|
||||
}
|
||||
|
||||
// if (approvalStatus.equals(CommonConstant.Enable)) {
|
||||
// // 多线程执行电子合同生成和填充
|
||||
// taskService.executeTask(() -> {
|
||||
// log.debug("###开始异步执行生成电子合同模版和填充模版数据,并生该商家和平台方签署的未盖章合同文件###");
|
||||
// // 生成电子合同模版和填充模版数据,并生该商家和平台方签署的未盖章合同文件
|
||||
// Boolean genSuccess = esignContractFillingFileService.fillDocTemplate(record.getLogin_mobile(), "");
|
||||
// if (!genSuccess) {
|
||||
// log.error("###商家入驻电子合同生成失败###");
|
||||
// }
|
||||
//
|
||||
// // 发短信通知商家,入驻申请已通过审核
|
||||
// });
|
||||
// }
|
||||
|
||||
return CommonResult.success();
|
||||
}
|
||||
|
||||
@ -631,7 +653,7 @@ public class ShopMchEntryServiceImpl extends BaseServiceImpl<ShopMchEntryMapper,
|
||||
queryWrapper.eq("biz_license_number", bizLicenseNumber);
|
||||
}
|
||||
|
||||
if (ObjectUtil.isEmpty(approvalStatus)) {
|
||||
if (ObjectUtil.isNotEmpty(approvalStatus)) {
|
||||
queryWrapper.eq("approval_status", approvalStatus);
|
||||
}
|
||||
|
||||
@ -759,12 +781,16 @@ public class ShopMchEntryServiceImpl extends BaseServiceImpl<ShopMchEntryMapper,
|
||||
updateWrapper.set("lkl_audit_status", lklAuditStatus);
|
||||
}
|
||||
|
||||
// 商家入驻审核正式通过
|
||||
updateWrapper.set("approval_status", CommonConstant.MCH_APPR_STA_PASS);
|
||||
|
||||
if (StrUtil.isNotBlank(lklMerCupNo)) {
|
||||
updateWrapper.set("lkl_mer_cup_no", lklMerCupNo);
|
||||
}
|
||||
if (StrUtil.isNotBlank(lklTkRegResp)) {
|
||||
updateWrapper.set("lkl_tk_reg_resp", lklTkRegResp);
|
||||
}
|
||||
|
||||
return update(updateWrapper);
|
||||
}
|
||||
|
||||
|
||||
@ -31,7 +31,10 @@ import com.suisung.mall.common.feignService.PayService;
|
||||
import com.suisung.mall.common.modules.account.AccountUserBase;
|
||||
import com.suisung.mall.common.modules.account.AccountUserInfo;
|
||||
import com.suisung.mall.common.modules.account.AccountUserSns;
|
||||
import com.suisung.mall.common.modules.base.*;
|
||||
import com.suisung.mall.common.modules.base.ShopBaseProductTag;
|
||||
import com.suisung.mall.common.modules.base.ShopBaseStoreCategory;
|
||||
import com.suisung.mall.common.modules.base.ShopBaseStoreGrade;
|
||||
import com.suisung.mall.common.modules.base.ShopPageModule;
|
||||
import com.suisung.mall.common.modules.distribution.ShopDistributionPlantformUser;
|
||||
import com.suisung.mall.common.modules.invoicing.InvoicingCustomerLevel;
|
||||
import com.suisung.mall.common.modules.invoicing.InvoicingWarehouseBase;
|
||||
@ -3026,13 +3029,19 @@ public class ShopStoreBaseServiceImpl extends BaseServiceImpl<ShopStoreBaseMappe
|
||||
shopStoreBase.setStore_category_id(shopMchEntry.getBiz_category()); // 重要,店铺分类id,对应 shop_base_store_category 表的分类
|
||||
shopStoreBase.setSplit_ratio(shopMchEntry.getSplit_ratio()); // 分账比例
|
||||
String storeFacadeImage = shopMchEntry.getFront_facade_image();
|
||||
shopStoreBase.setStore_logo(storeFacadeImage); // 临时使用门面照片做logo
|
||||
|
||||
String storeLogoImage = shopMchEntry.getStore_logo();
|
||||
if (StrUtil.isBlank(storeLogoImage)) {
|
||||
storeLogoImage = storeFacadeImage;
|
||||
}
|
||||
shopStoreBase.setStore_logo(storeLogoImage); // 临时使用门面照片做logo
|
||||
|
||||
// 省市区记录有序列表
|
||||
List<ShopBaseDistrict> districtList = shopBaseDistrictService.getFullDistrictByDistrictCode(shopMchEntry.getCounty_id());
|
||||
shopStoreBase.setStore_district_id(shopBaseDistrictService.joinDistrict(districtList, 1, true, "/"));
|
||||
shopStoreBase.setStore_area(shopBaseDistrictService.joinDistrict(districtList, 2, true, "/"));
|
||||
// List<ShopBaseDistrict> districtList = shopBaseDistrictService.getFullDistrictByDistrictCode(shopMchEntry.getCounty_id());
|
||||
//shopStoreBase.setStore_district_id(shopBaseDistrictService.joinDistrict(districtList, 1, true, "/"));
|
||||
// shopStoreBase.setStore_area(shopBaseDistrictService.joinDistrict(districtList, 2, true, "/"));
|
||||
|
||||
shopStoreBase.setStore_district_id(shopMchEntry.getStore_district());
|
||||
shopStoreBase.setStore_area(shopMchEntry.getStore_area());
|
||||
shopStoreBase.setStore_address(shopMchEntry.getStore_address());
|
||||
shopStoreBase.setStore_longitude(shopMchEntry.getStore_longitude());
|
||||
shopStoreBase.setStore_latitude(shopMchEntry.getStore_latitude());
|
||||
|
||||
Loading…
Reference in New Issue
Block a user