授权登录活跃状态:接口对接,前端配置按钮暂时只支持单个选择,自主授权设置为打开新页面

beta
路明慧 1 year ago
parent bc075b3ca6
commit 98875eb802
  1. 62
      jianshui-admin/src/main/java/com/jianshui/api/controller/http/invoiceall/v1/InvoiceAllController.java
  2. 2
      jianshui-common/src/main/java/com/jianshui/common/constant/Constants.java
  3. 7
      jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/service/IInvoiceAll.java
  4. 38
      jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/service/impl/InvoiceAllImpl.java
  5. 7
      jianshui-ui/src/api/digital/registered.js
  6. 58
      jianshui-ui/src/views/digital/registered/index.vue

@ -405,28 +405,18 @@ public class InvoiceAllController {
}
// 获得入口报文适配器
String requestAdapterKey = serviceManageService.getRequestAdapterKey(SERVICE_KEY, companyservice.getCompanyid());
IInvoiceAllRequestService incomeRequestService = invoiceAllRequestFactory.getService(requestAdapterKey);
IInvoiceAllRequestService incomeRequestService = new AisinoIncomeRequestAdapterImpl();
JSONObject requestBody = incomeRequestService.decrypt(request, companyservice);
// 获得请求实例,并且进行扣费
String serviceKey = serviceManageService.getCompanyServiceSupplier(SERVICE_KEY, companyservice.getCompanyid());
IInvoiceAll invoiceAllService = iInvoceiAllServiceFactory.getService(serviceKey);
// 指定请求实例
IInvoiceAll invoiceAllService = iInvoceiAllServiceFactory.getService("elephant_invoiceall");
AjaxResult result = invoiceAllService.loginVerificated(companyservice, requestBody);
//返回处理 增加调用次数
if (result.isSuccess()) {
serviceManageService.companyConsume(SERVICE_KEY, companyservice.getCompanyid());
}
//返回报文处理器
String responseAdapterKey = serviceManageService.getResponseAdapterKey(SERVICE_KEY, companyservice.getCompanyid());
IInvoiceAllResponseService incomeResponseService = invoiceAllResponseFactory.getService(responseAdapterKey);
IInvoiceAllResponseService incomeResponseService = new AisinoIncomeResponseAdapterImpl();
return incomeResponseService.response(result, companyservice, "");
}
@ApiOperation("发票查询")
@ApiImplicitParams({
@ -832,32 +822,34 @@ public class InvoiceAllController {
}
@ApiOperation("授权活跃状态查询")
@ApiImplicitParams({
@ApiImplicitParam(name = "identity", value = "身份认证", dataType = "java.lang.Void", example = "1130", required = true),
@ApiImplicitParam(name = "order", value = "请求体",dataType = "java.lang.Void", required = true)})
@PostMapping({"/api/invoice_all/v1/obtainLoginStatus/{identity}", "/api/invoice_all/v1/obtainLoginStatus","/invoice_all/obtainLoginStatus"})
public Object obtainLoginStatus(HttpServletRequest request, String identity) throws Exception {
if (StringUtils.isEmpty(identity)) {
return AjaxResult.error(ErrorCode.EMPTY_IDENTITY);
}
Companyservice companyservice = iCompanyserviceService.selectCompanyserviceByIdentity(identity);
if (companyservice == null) {
return AjaxResult.error(ErrorCode.COMPANY_NOT_FOUND);
}
// 获得入口报文适配器
IInvoiceAllRequestService incomeRequestService = new AisinoIncomeRequestAdapterImpl();
JSONObject requestBody = incomeRequestService.decrypt(request, companyservice);
// 指定请求实例
IInvoiceAll invoiceAllService = iInvoceiAllServiceFactory.getService("elephant_invoiceall");
AjaxResult result = invoiceAllService.obtainLoginStatus(companyservice, requestBody);
//返回报文处理器
IInvoiceAllResponseService incomeResponseService = new AisinoIncomeResponseAdapterImpl();
return incomeResponseService.response(result, companyservice, "");
}
}

@ -192,5 +192,7 @@ public class Constants {
public static final String QD_LOGIN = "http://zzsq.jcsk100.com/login/getLogin2";
public static final String SUBMIT_SMS = "http://zzsq.jcsk100.com/login/submitSms";
public static final String OBTAINLOGIN_STATUS = "http://zzsq.jcsk100.com/login/obtainLoginStatus";
}

@ -21,6 +21,13 @@ public interface IInvoiceAll {
*/
AjaxResult registration(Companyservice companyservice, InvoiceAllYhdjDTO invoiceAllYhdjDTO);
/**
* 授权活跃状态查询
*
* @return
*/
AjaxResult obtainLoginStatus(Companyservice companyservice, JSONObject requestBody);
/**
* 通用查询接口

@ -3,24 +3,22 @@ import java.util.Date;
import cn.hutool.core.bean.copier.CopyOptions;
import cn.hutool.core.date.DateUtil;
import java.math.BigDecimal;
import java.util.*;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.jianshui.common.constant.Constants;
import com.jianshui.common.core.domain.AjaxResult;
import com.jianshui.common.core.domain.entity.Companyservice;
import com.jianshui.common.enums.ErrorCode;
import com.jianshui.common.utils.HutoolUtilsPro;
import com.jianshui.common.utils.StringUtils;
import com.jianshui.common.utils.ValidateUtils;
import com.jianshui.common.utils.http.HttpUtils;
import com.jianshui.common.utils.uuid.IdUtils;
import com.jianshui.framework.manager.AsyncManager;
import com.jianshui.invoice.domain.BillDetail;
@ -132,6 +130,36 @@ public class InvoiceAllImpl implements IInvoiceAll {
return AjaxResult.success(result);
}
/**
* 授权活跃状态查询
*
* @return
*/
@Override
public AjaxResult obtainLoginStatus(Companyservice companyservice, com.alibaba.fastjson.JSONObject requestBody) {
com.alibaba.fastjson.JSONObject result = null;
try {
String responParam = HttpUtils.sendJsonPost(Constants.OBTAINLOGIN_STATUS, requestBody);
result = JSON.parseObject(responParam);
String code = result.get("code") != null ? result.get("code").toString() : "";
String msg = result.get("msg") != null ? result.get("msg").toString() : "";
if ("S000".equals(code)) {
return AjaxResult.success(msg);
} else {
return AjaxResult.error(msg);
}
} catch (Exception e) {
e.printStackTrace();
log.error("【金四服务类】【金财数科】【授权活跃】API请求异常,外部报文返回code非0000。错误信息:{}", e.getMessage());
return AjaxResult.error(ErrorCode.COMMON_ERROR);
}
}
/**
* 通用查询接口
*

@ -67,6 +67,13 @@ export function encrypt(data) {
})
}
export function obtainLoginStatus(data,identity) {
return request({
url: '/invoice_all/obtainLoginStatus?identity=' + identity+"&order="+data,
method: 'post'
})
}
export function getCompanyservice(companyid) {
return request({
url: '/system/companyservice/' + companyid,

@ -141,6 +141,17 @@
v-hasPermi="['invoiceall:invoiceallyhdj:routerFreedom']"
>自主授权</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-caret-right"
size="mini"
:disabled="multiple"
@click="obtainLoginStatus"
v-hasPermi="['invoiceall:invoiceallyhdj:routerFreedom']"
>授权活跃状态查询</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
@ -272,9 +283,9 @@ import {
registeredMethod,
getCompanyservice,
qrcodeMethod,
encrypt
encrypt,
obtainLoginStatus
} from "@/api/digital/registered";
import router from "@/router";
export default {
name: "Invoiceallyhdj",
@ -285,6 +296,7 @@ export default {
loading: true,
//
ids: [],
chooses: [],
should : false,
//
single: true,
@ -397,7 +409,44 @@ export default {
},
methods: {
routerFreedom() {
this.$router.push("/auth")
const url = this.$router.resolve({ path: "/auth" }).href;
window.open(url, '_blank');
},
/** 等级活跃状态查询 */
obtainLoginStatus(){
if (this.chooses.length==1){
getCompanyservice(this.chooses[0].identity).then(resp=>{
//
if(resp.code==200 && resp.data != null && resp.data != ""){
const requestBody = {
key: resp.data.secret,
order: JSON.stringify({
nsrsbh: this.chooses[0].nsrsbh,
yhm: this.chooses[0].nsrmc
}),
}
encrypt(requestBody).then(res => {
if (res.code == 200 && res.data != null && res.data != "") {
obtainLoginStatus(res.data,this.chooses[0].identity).then(response => {
if (response.code == 200){
this.$message.success(response.msg)
}
});
}else if (res.data == null || res.data == ""){
this.$message.error('报文加密失败')
}
})
}else if(resp.data == null || resp.data == "") {
this.$message.error('请检查企业ID配置')
}
})
}else{
this.$message.error('请选择一条数据')
}
},
/** 查询金四-用户登记列表 */
getList() {
@ -451,6 +500,9 @@ export default {
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.chooses = selection.map(item => {
return {identity:item.identity,nsrsbh:item.nsrsbh,bsryxm:item.nsrmc}
})
this.single = selection.length!==1
this.multiple = !selection.length
},

Loading…
Cancel
Save