Commit 5b0ca2c6 authored by 黎博's avatar 黎博

新增vcc造数据接口

parent 72d06ede
package cn.qg.qaplatform.common.enums;
/**
* 享花卡状态枚举
*/
public enum VccStatusEnum {
CREATED("初始状态", 0),
ACTIVATE_SUCC("授信成功", 1),
ACTIVATE_FAILED("授信失败", 2),
DISABLE("禁用",3),
AUTHING("审核中",4),
FREZE("冻结",5),
XYQB_OPEN_SUCC("开户成功", 6),
XYQB_OPEN_FAILED("开户失败",7);
private String desc;
private Integer code;
VccStatusEnum(String desc, Integer code) {
this.desc = desc;
this.code = code;
}
public String getDesc() {
return this.desc;
}
public Integer getCode() {
return this.code;
}
/**
* 根据code码获取描述
* @param code code
* @return desc
*/
public static String getDescByCode(Integer code) {
VccStatusEnum[] vccStatusEnums = values();
for (VccStatusEnum vccStatusEnum: vccStatusEnums) {
if (vccStatusEnum.getCode().equals(code)) {
return vccStatusEnum.getDesc();
}
}
return null;
}
}
......@@ -6,10 +6,12 @@ import cn.qg.qaplatform.service.VccDataService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@CrossOrigin
@RestController
@RequestMapping("vcc")
@Api(tags = "vcc造数据")
......@@ -21,6 +23,9 @@ public class GenVccController {
@PostMapping("/gen")
@ApiOperation(value = "vcc造数据")
public JsonResult genVccUser(String namespace, String phoneNo, String channel, Integer status) throws Exception {
if (status !=1 && status !=2 && status !=3 && status !=4) {
return JsonResult.clientFailed("状态值必须是1、2、3、4中的一个!");
}
if (!channel.equals("214") && !channel.equals("217")) {
return JsonResult.clientFailed("渠道必须为214或217");
}
......
package cn.qg.qaplatform.controller;
import cn.qg.qaplatform.common.JsonResult;
import cn.qg.qaplatform.domain.QueryVccUser;
import cn.qg.qaplatform.service.VccDataService;
import cn.qg.qaplatform.utils.page.PageResult;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -22,4 +23,10 @@ public class QueryVccController {
PageResult vccData = vccDataService.getVccData(namespace, status, pageNum, pageSize);
return JsonResult.success(vccData);
}
@GetMapping("/getStatus")
public JsonResult getUserStatus(String namespace, String phoneNo) {
QueryVccUser queryVccUser = vccDataService.queryUserVccStatus(namespace, phoneNo);
return JsonResult.success(queryVccUser);
}
}
......@@ -3,11 +3,15 @@ package cn.qg.qaplatform.dao;
import cn.qg.qaplatform.domain.QueryVccUser;
import java.util.List;
import java.util.Map;
public interface QueryVccDataMapper {
/**
* 根据状态获取vcc用户
*/
List<QueryVccUser> queryVccDataByStatus(Integer status);
/**
* 查看用户vcc状态
*/
QueryVccUser queryUserVccStatus(String phoneNo);
}
......@@ -29,4 +29,16 @@ public class QueryVccUser {
* 创建时间
*/
public Date createdAt;
/**
* CREATED("初始状态"), // 0
* ACTIVATE_SUCC("激活成功"), // 1
* ACTIVATE_FAILED("激活失败"), // 2
* DISABLE("禁用"), // 3
* AUTHING("审核中"), // 4
* FREZE("冻结"), // 5
* XYQB_OPEN_SUCC("信用钱包开户成功"), // 6
* XYQB_OPEN_FAILED("信用钱包开户失败"), // 7
*/
public Integer status;
}
package cn.qg.qaplatform.service;
import cn.qg.qaplatform.domain.GenVccUser;
import cn.qg.qaplatform.domain.QueryVccUser;
import cn.qg.qaplatform.utils.page.PageResult;
......@@ -12,4 +13,6 @@ public interface VccDataService {
GenVccUser makeVccUser(String namespace, String phoneNo, String openedChannel, Integer status) throws Exception;
PageResult getVccData(String namespace, Integer status, Integer pageNum, Integer pageSize);
QueryVccUser queryUserVccStatus(String namespace, String phoneNo);
}
package cn.qg.qaplatform.service.impl;
import cn.qg.qaplatform.common.SwitchDataSource;
import cn.qg.qaplatform.common.enums.VccStatusEnum;
import cn.qg.qaplatform.dao.QueryVccDataMapper;
import cn.qg.qaplatform.domain.GenVccUser;
import cn.qg.qaplatform.domain.QueryVccUser;
......@@ -12,6 +13,7 @@ import cn.qg.qaplatform.utils.page.PageUtil;
import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -20,6 +22,7 @@ import java.util.Map;
@Service
@Slf4j
public class VccDataServiceImpl implements VccDataService {
@Autowired
......@@ -59,11 +62,12 @@ public class VccDataServiceImpl implements VccDataService {
// 加入授信黑名单
if (status == 2) {
ruleEngineService.addBlackList(uuid);
log.info("将用户 {} 加入授信黑名单!", uuid);
}
// 检查用户是否已有额度
boolean haveQuota = Vcc.checkIfAlreadyHaveQuota(namespace, uuid);
if (haveQuota) {
genVccUser.setMsg("用户已有额度!");
genVccUser.setMsg("该用户已申请过,请更换新用户申请!");
return genVccUser;
}
// credit url
......@@ -83,7 +87,10 @@ public class VccDataServiceImpl implements VccDataService {
// 授信结果查询
Vcc.searchCreditResult(namespace, token, vccChannel);
if (status == 1 || status == 2) {
genVccUser.setMsg("提交授信成功!");
log.info("提交授信成功!");
Thread.sleep(2000);
QueryVccUser userInfo = queryUserVccStatus(namespace, phoneNo);
genVccUser.setMsg(VccStatusEnum.getDescByCode(userInfo.getStatus()));
return genVccUser;
}
// 人脸识别回调
......@@ -130,4 +137,16 @@ public class VccDataServiceImpl implements VccDataService {
PageResult pageResult = PageUtil.getPageResult(pageList, pageNum, pageSize);
return pageResult;
}
/**
* 根据手机号获取用户vcc状态
* @param namespace 环境
* @param phoneNo 手机号
* @return QueryVccUser实体
*/
@Override
public QueryVccUser queryUserVccStatus(String namespace, String phoneNo) {
SwitchDataSource.dataSourceSwitch(namespace, "vcc_talos");
return queryVccDataMapper.queryUserVccStatus(phoneNo);
}
}
......@@ -7,6 +7,7 @@
`phone_no` as phoneNo,
`user_id` as userId,
`uuid`,
`status`,
`registered_from` as registeredFrom,
`next_apply_time` as nextApplyTime,
`created_at` as createdAt
......@@ -16,4 +17,19 @@
</where>
order by id desc
</select>
<select id="queryUserVccStatus" resultType="cn.qg.qaplatform.domain.QueryVccUser">
select
`phone_no` as phoneNo,
`user_id` as userId,
`uuid`,
`status`,
`registered_from` as registeredFrom,
`next_apply_time` as nextApplyTime,
`created_at` as createdAt
from account
<where>
`phone_no` = #{phoneNo}
</where>
</select>
</mapper>
\ No newline at end of file
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