From 98875eb802f08593aad6852c93738c3f2170395b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B7=AF=E6=98=8E=E6=85=A7?= <1191093413@qq.com> Date: Fri, 22 Mar 2024 11:31:02 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=88=E6=9D=83=E7=99=BB=E5=BD=95=E6=B4=BB?= =?UTF-8?q?=E8=B7=83=E7=8A=B6=E6=80=81=EF=BC=9A=E6=8E=A5=E5=8F=A3=E5=AF=B9?= =?UTF-8?q?=E6=8E=A5=EF=BC=8C=E5=89=8D=E7=AB=AF=E9=85=8D=E7=BD=AE=E6=8C=89?= =?UTF-8?q?=E9=92=AE=E6=9A=82=E6=97=B6=E5=8F=AA=E6=94=AF=E6=8C=81=E5=8D=95?= =?UTF-8?q?=E4=B8=AA=E9=80=89=E6=8B=A9=EF=BC=8C=E8=87=AA=E4=B8=BB=E6=8E=88?= =?UTF-8?q?=E6=9D=83=E8=AE=BE=E7=BD=AE=E4=B8=BA=E6=89=93=E5=BC=80=E6=96=B0?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../invoiceall/v1/InvoiceAllController.java | 62 ++++++++----------- .../jianshui/common/constant/Constants.java | 2 + .../invoiceall/service/IInvoiceAll.java | 7 +++ .../service/impl/InvoiceAllImpl.java | 38 ++++++++++-- jianshui-ui/src/api/digital/registered.js | 7 +++ .../src/views/digital/registered/index.vue | 58 ++++++++++++++++- 6 files changed, 131 insertions(+), 43 deletions(-) diff --git a/jianshui-admin/src/main/java/com/jianshui/api/controller/http/invoiceall/v1/InvoiceAllController.java b/jianshui-admin/src/main/java/com/jianshui/api/controller/http/invoiceall/v1/InvoiceAllController.java index 11db688..3be85de 100644 --- a/jianshui-admin/src/main/java/com/jianshui/api/controller/http/invoiceall/v1/InvoiceAllController.java +++ b/jianshui-admin/src/main/java/com/jianshui/api/controller/http/invoiceall/v1/InvoiceAllController.java @@ -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, ""); + } } diff --git a/jianshui-common/src/main/java/com/jianshui/common/constant/Constants.java b/jianshui-common/src/main/java/com/jianshui/common/constant/Constants.java index ee9046a..181d5a5 100644 --- a/jianshui-common/src/main/java/com/jianshui/common/constant/Constants.java +++ b/jianshui-common/src/main/java/com/jianshui/common/constant/Constants.java @@ -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"; + } \ No newline at end of file diff --git a/jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/service/IInvoiceAll.java b/jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/service/IInvoiceAll.java index e710303..55671fe 100644 --- a/jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/service/IInvoiceAll.java +++ b/jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/service/IInvoiceAll.java @@ -21,6 +21,13 @@ public interface IInvoiceAll { */ AjaxResult registration(Companyservice companyservice, InvoiceAllYhdjDTO invoiceAllYhdjDTO); + /** + * 授权活跃状态查询 + * + * @return + */ + AjaxResult obtainLoginStatus(Companyservice companyservice, JSONObject requestBody); + /** * 通用查询接口 diff --git a/jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/service/impl/InvoiceAllImpl.java b/jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/service/impl/InvoiceAllImpl.java index c736d22..13b5ac8 100644 --- a/jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/service/impl/InvoiceAllImpl.java +++ b/jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/service/impl/InvoiceAllImpl.java @@ -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); + } + + } + /** * 通用查询接口 * diff --git a/jianshui-ui/src/api/digital/registered.js b/jianshui-ui/src/api/digital/registered.js index fdeb6a3..b3b4d6a 100644 --- a/jianshui-ui/src/api/digital/registered.js +++ b/jianshui-ui/src/api/digital/registered.js @@ -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, diff --git a/jianshui-ui/src/views/digital/registered/index.vue b/jianshui-ui/src/views/digital/registered/index.vue index 3150a3c..813ebc3 100644 --- a/jianshui-ui/src/views/digital/registered/index.vue +++ b/jianshui-ui/src/views/digital/registered/index.vue @@ -141,6 +141,17 @@ v-hasPermi="['invoiceall:invoiceallyhdj:routerFreedom']" >自主授权 + + 授权活跃状态查询 + @@ -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 },