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

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 = new AisinoIncomeRequestAdapterImpl();
IInvoiceAllRequestService incomeRequestService = invoiceAllRequestFactory.getService(requestAdapterKey);
JSONObject requestBody = incomeRequestService.decrypt(request, companyservice); JSONObject requestBody = incomeRequestService.decrypt(request, companyservice);
// 获得请求实例,并且进行扣费 // 指定请求实例
String serviceKey = serviceManageService.getCompanyServiceSupplier(SERVICE_KEY, companyservice.getCompanyid()); IInvoiceAll invoiceAllService = iInvoceiAllServiceFactory.getService("elephant_invoiceall");
IInvoiceAll invoiceAllService = iInvoceiAllServiceFactory.getService(serviceKey);
AjaxResult result = invoiceAllService.loginVerificated(companyservice, requestBody); 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 = new AisinoIncomeResponseAdapterImpl();
IInvoiceAllResponseService incomeResponseService = invoiceAllResponseFactory.getService(responseAdapterKey);
return incomeResponseService.response(result, companyservice, ""); return incomeResponseService.response(result, companyservice, "");
} }
@ApiOperation("发票查询") @ApiOperation("发票查询")
@ApiImplicitParams({ @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 QD_LOGIN = "http://zzsq.jcsk100.com/login/getLogin2";
public static final String SUBMIT_SMS = "http://zzsq.jcsk100.com/login/submitSms"; 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); 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.bean.copier.CopyOptions;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.*; import java.util.*;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONObject; import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.AjaxResult;
import com.jianshui.common.core.domain.entity.Companyservice; import com.jianshui.common.core.domain.entity.Companyservice;
import com.jianshui.common.enums.ErrorCode; import com.jianshui.common.enums.ErrorCode;
import com.jianshui.common.utils.HutoolUtilsPro; import com.jianshui.common.utils.HutoolUtilsPro;
import com.jianshui.common.utils.StringUtils; import com.jianshui.common.utils.StringUtils;
import com.jianshui.common.utils.ValidateUtils; import com.jianshui.common.utils.ValidateUtils;
import com.jianshui.common.utils.http.HttpUtils;
import com.jianshui.common.utils.uuid.IdUtils; import com.jianshui.common.utils.uuid.IdUtils;
import com.jianshui.framework.manager.AsyncManager; import com.jianshui.framework.manager.AsyncManager;
import com.jianshui.invoice.domain.BillDetail; import com.jianshui.invoice.domain.BillDetail;
@ -132,6 +130,36 @@ public class InvoiceAllImpl implements IInvoiceAll {
return AjaxResult.success(result); 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) { export function getCompanyservice(companyid) {
return request({ return request({
url: '/system/companyservice/' + companyid, url: '/system/companyservice/' + companyid,

@ -141,6 +141,17 @@
v-hasPermi="['invoiceall:invoiceallyhdj:routerFreedom']" v-hasPermi="['invoiceall:invoiceallyhdj:routerFreedom']"
>自主授权</el-button> >自主授权</el-button>
</el-col> </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> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row> </el-row>
@ -272,9 +283,9 @@ import {
registeredMethod, registeredMethod,
getCompanyservice, getCompanyservice,
qrcodeMethod, qrcodeMethod,
encrypt encrypt,
obtainLoginStatus
} from "@/api/digital/registered"; } from "@/api/digital/registered";
import router from "@/router";
export default { export default {
name: "Invoiceallyhdj", name: "Invoiceallyhdj",
@ -285,6 +296,7 @@ export default {
loading: true, loading: true,
// //
ids: [], ids: [],
chooses: [],
should : false, should : false,
// //
single: true, single: true,
@ -397,7 +409,44 @@ export default {
}, },
methods: { methods: {
routerFreedom() { 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() { getList() {
@ -451,6 +500,9 @@ export default {
// //
handleSelectionChange(selection) { handleSelectionChange(selection) {
this.ids = selection.map(item => item.id) 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.single = selection.length!==1
this.multiple = !selection.length this.multiple = !selection.length
}, },

Loading…
Cancel
Save