package com.nova.sankuai.controller.v1.platform;
|
|
import com.nova.sankuai.domain.api.xiamenzhongheyinhua.XiaMenZhongHeYinHuaResponse;
|
import com.nova.sankuai.domain.api.xiamenzhongheyinhua.XiaMenZhongHeYinHuaUtil;
|
import com.nova.sankuai.domain.entity.ApiCompany;
|
import com.nova.sankuai.domain.entity.ApiCompanyRecord;
|
import com.nova.sankuai.domain.entity.CustomerUser;
|
import com.nova.sankuai.domain.entity.ProtocolInfo;
|
import com.nova.sankuai.domain.enums.ApiCompanyCodeEnum;
|
import com.nova.sankuai.domain.vo.platform.ImportCustomerParameter;
|
import com.nova.sankuai.infra.config.CommonException;
|
import com.nova.sankuai.infra.constants.ResultCode;
|
import com.nova.sankuai.infra.utils.ResultJson;
|
import com.nova.sankuai.service.*;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.RequiredArgsConstructor;
|
import lombok.extern.slf4j.Slf4j;
|
import org.apache.commons.lang.StringUtils;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.validation.Valid;
|
import java.util.Objects;
|
|
/**
|
* <p>
|
* 平台提供给其他系统调用的接口
|
* </p>
|
*
|
* @author Zhangjc
|
* @since 2021/11/18
|
*/
|
@Api(tags = "平台提供给其他系统调用的接口")
|
@RestController()
|
@RequestMapping("/api/v1/largecredit")
|
@RequiredArgsConstructor
|
@Slf4j
|
public class LargeCreditController {
|
|
private final ICustomerService customerService;
|
|
private final IChannelInfoService channelInfoService;
|
|
private final IApiCompanyService apiCompanyService;
|
|
private final IApiCompanyRecordService apiCompanyRecordService;
|
|
private final IProtocolInfoService protocolInfoService;
|
|
private final ICustomerUserService customerUserService;
|
|
@ApiOperation("撞库测试")
|
@GetMapping("/customCheck")
|
public ResultJson<Boolean> checkCustomer(@RequestParam(name = "phone",required = false) String phone, @RequestParam(name = "phone_md5",required = false) String phoneMD5) {
|
ResultJson<Boolean> result = new ResultJson<>(ResultCode.SUCCESS);
|
if (StringUtils.isEmpty(phone) && StringUtils.isEmpty(phoneMD5)) {
|
result.setData(false);
|
result.setMsg("失败");
|
result.setCode(ResultCode.BAD_REQUEST.getCode());
|
return result;
|
}
|
CustomerUser customerUser = customerUserService.checkCustomer(phone, phoneMD5);
|
if (customerUser == null) {
|
result.setMsg("成功");
|
result.setData(true);
|
} else {
|
result.setMsg("失败");
|
result.setData(false);
|
}
|
return result;
|
}
|
|
@ApiOperation("爱助贷撞库测试")
|
@GetMapping("/aizhudai/customCheck")
|
public ResultJson<?> aizhudaiCustomCheck(@RequestParam String phone) {
|
ApiCompany one = apiCompanyService.lambdaQuery()
|
.eq(ApiCompany::getCompanyCode, ApiCompanyCodeEnum.XiaMenZhongHeYinHua.getCode())
|
.eq(ApiCompany::getEnableFlag, 1).one();
|
if (one != null) {
|
Integer count = apiCompanyRecordService.lambdaQuery().eq(ApiCompanyRecord::getCompanyId, one.getId())
|
.eq(ApiCompanyRecord::getStatus, ApiCompanyRecord.SUCCESS).count();
|
if (one.getCustomerNum() == null || count < one.getCustomerNum()) {
|
XiaMenZhongHeYinHuaResponse checkResp = XiaMenZhongHeYinHuaUtil.phoneCheckExists(phone);
|
if (Objects.equals(checkResp.getCode(), 0)) {
|
return ResultJson.ok(true);
|
}
|
}
|
}
|
return ResultJson.ok(false);
|
}
|
|
@ApiOperation("同步用户信息")
|
@PostMapping("/customImport")
|
public ResultJson<Boolean> importCustomer(@RequestBody @Valid ImportCustomerParameter parameter) {
|
ResultJson<Boolean> result = new ResultJson<>(ResultCode.SUCCESS);
|
CustomerUser customerUser = customerUserService.checkCustomer(parameter.getPhone(), null);
|
if (customerUser != null) {
|
log.info("撞库失败:手机号为:" + parameter.getPhone());
|
result.setCode(ResultCode.SERVER_ERROR.getCode());
|
result.setMsg("失败");
|
result.setData(false);
|
return result;
|
}
|
try {
|
ResultJson checkResult = channelInfoService.checkChannel(parameter.getAppid(), parameter.toString());
|
if (checkResult != null) {
|
return checkResult;
|
}
|
log.info("导入其他平台用户开始,原始数据:" + parameter.toString());
|
customerService.importCustomerFromPlatform(parameter);
|
result.setMsg("成功");
|
result.setData(true);
|
} catch (CommonException e) {
|
log.error("导入其他平台用户出错", e);
|
result.setCode(ResultCode.SERVER_ERROR.getCode());
|
result.setMsg(e.getMessage());
|
result.setData(false);
|
}
|
return result;
|
}
|
|
@ApiOperation("爱助贷同步用户信息")
|
@PostMapping("/aizhudai/customImport")
|
public ResultJson aizhudaiCustomImport(@RequestBody @Valid ImportCustomerParameter parameter) {
|
ResultJson<Boolean> result = new ResultJson<>(ResultCode.SUCCESS);
|
try {
|
ResultJson<?> checkResult = channelInfoService.checkChannel(parameter.getAppid(), parameter.toString());
|
if (checkResult != null) {
|
return checkResult;
|
}
|
log.info("爱助贷同步用户信息开始,原始数据:" + parameter);
|
customerService.aizhudaiCustomImport(parameter);
|
result.setMsg("成功");
|
result.setData(true);
|
log.info("爱助贷同步用户信息结束");
|
} catch (CommonException e) {
|
log.error("爱助贷同步用户信息出错", e);
|
result.setCode(ResultCode.SERVER_ERROR.getCode());
|
result.setMsg(e.getMessage());
|
result.setData(false);
|
}
|
return result;
|
}
|
|
@GetMapping(value = "/getProtocol")
|
@ApiOperation(value = "获取协议")
|
public String getProtocol(String code) {
|
ProtocolInfo protocolInfo = protocolInfoService.lambdaQuery().eq(ProtocolInfo::getCode, code).one();
|
String content = "";
|
if (protocolInfo != null) {
|
content = String.format("<!DOCTYPE html><head><title></title><script>document.title=\"\\u200E\"</script></head><body>%s</body></html>", protocolInfo.getContent());
|
}
|
return content;
|
}
|
}
|