用户登记:添加接口调用和返回日志

beta
路明慧 1 year ago
parent 98875eb802
commit 4a2171c3a6
  1. 2
      jianshui-admin/src/main/java/com/jianshui/JianshuiApplication.java
  2. 35
      jianshui-admin/src/main/java/com/jianshui/api/controller/http/invoiceall/v1/InvoiceAllController.java
  3. 1
      jianshui-common/src/main/java/com/jianshui/common/constant/Constants.java
  4. 4
      jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/service/IInvoiceAll.java
  5. 83
      jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/service/impl/InvoiceAllImpl.java
  6. 7
      jianshui-invoice/src/main/java/com/jianshui/invoice/mapper/UserRegistedLogMapper.java
  7. 15
      jianshui-invoice/src/main/java/com/jianshui/invoice/service/UserRegistedLogService.java
  8. 36
      jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/UserRegistedLogServiceImpl.java
  9. 2
      jianshui-ui/src/api/digital/registered.js
  10. 5
      jianshui-ui/src/views/digital/registered/index.vue

@ -3,12 +3,14 @@ package com.jianshui;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.scheduling.annotation.EnableAsync;
/**
* 启动程序
*
* @author 简税平台
*/
@EnableAsync
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
public class JianshuiApplication {
public static void main(String[] args) {

@ -5,10 +5,6 @@ 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.StringUtils;
import com.jianshui.invoice.domain.dto.HXResponse;
import com.jianshui.invoice.service.IInvoiceApiService;
import com.jianshui.invoice.service.IInvoiceRequestService;
import com.jianshui.invoice.service.IInvoiceResponseService;
import com.jianshui.invoiceall.domain.dto.*;
import com.jianshui.invoiceall.domain.dto.jcsk.AutonomousAuthorizationDTO;
import com.jianshui.invoiceall.domain.dto.jcsk.InvoiceAllSubmitNoteDTO;
@ -30,7 +26,6 @@ import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
/**
@ -146,6 +141,36 @@ public class InvoiceAllController {
return incomeResponseService.response(result, companyservice, "");
}
@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/registed/{identity}", "/api/invoice_all/v1/registed"})
public Object registed(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");
InvoiceAllYhdjDTO invoiceAllYhdjDTO = requestBody.toJavaObject(InvoiceAllYhdjDTO.class);
AjaxResult result = invoiceAllService.registed(companyservice, invoiceAllYhdjDTO);
//返回报文处理器
IInvoiceAllResponseService incomeResponseService = new AisinoIncomeResponseAdapterImpl();
return incomeResponseService.response(result, companyservice, "");
}
@ApiOperation("通用查询接口")
@ApiImplicitParams({

@ -171,6 +171,7 @@ public class Constants {
public static final String STRING_0 = "0";
public static final String STRING_1 = "1";
public static final String STRING_2 = "2";
public static final String STRING_3 = "3";
public static final String PDF = "pdf";
public static final String PDF_UPCASE = "PDF";
public static final String OFD = "ofd";

@ -5,8 +5,6 @@ import com.alibaba.fastjson.JSONObject;
import com.jianshui.common.core.domain.AjaxResult;
import com.jianshui.common.core.domain.entity.Companyservice;
import com.jianshui.invoiceall.domain.dto.*;
import com.jianshui.invoiceall.domain.dto.jcsk.InvoiceAllSubmitNoteDTO;
import org.yaml.snakeyaml.extensions.compactnotation.CompactConstructor;
/**
* 发票认证抽象类
@ -163,4 +161,6 @@ public interface IInvoiceAll {
AjaxResult qrcodeResult(Companyservice companyservice, JSONObject requestBody);
AjaxResult loginVerificated(Companyservice companyservice, JSONObject requestBody);
AjaxResult registed(Companyservice companyservice, InvoiceAllYhdjDTO invoiceAllYhdjDTO);
}

@ -1,51 +1,54 @@
package com.jianshui.invoiceall.service.impl;
import java.util.Date;
import cn.hutool.core.bean.BeanUtil;
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.constant.WebServiceConstant;
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.SecurityUtils;
import com.jianshui.common.utils.StringUtils;
import com.jianshui.common.utils.ValidateUtils;
import com.jianshui.common.utils.http.HttpUtils;
import com.jianshui.common.utils.jcsk.ApiHttp;
import com.jianshui.common.utils.uuid.IdUtils;
import com.jianshui.framework.manager.AsyncManager;
import com.jianshui.invoice.domain.BillDetail;
import com.jianshui.invoice.domain.BillInfo;
import com.jianshui.invoice.domain.Invoice;
import com.jianshui.invoice.domain.UserRegistedLogEntity;
import com.jianshui.invoice.mapper.BillInfoMapper;
import com.jianshui.invoice.mapper.InvoiceMapper;
import com.jianshui.common.constant.WebServiceConstant;
import com.jianshui.system.domain.InvoiceAllApiLog;
import com.jianshui.system.domain.InvoiceAllYhdj;
import com.jianshui.invoice.service.UserRegistedLogService;
import com.jianshui.invoiceall.domain.dto.*;
import com.jianshui.invoiceall.domain.dto.jcsk.*;
import com.jianshui.invoiceall.domain.dto.jcsk.add.*;
import com.jianshui.invoiceall.domain.dto.jcsk.add.InvoiceAllAddDTO;
import com.jianshui.invoiceall.domain.dto.jcsk.add.InvoiceAllAddInfoDTO;
import com.jianshui.invoiceall.domain.dto.jcsk.add.InvoiceAllAddmxListDTO;
import com.jianshui.invoiceall.domain.dto.jcsk.red.AddRedInvoiceDTO;
import com.jianshui.invoiceall.domain.vo.InvoiceAllKschVO;
import com.jianshui.invoiceall.domain.vo.jcsk.AddInvoiceVO;
import com.jianshui.invoiceall.domain.vo.jcsk.AddRedInvoiceVO;
import com.jianshui.invoiceall.domain.vo.jcsk.KschVO;
import com.jianshui.invoiceall.service.IInvoiceAll;
import com.jianshui.system.domain.InvoiceAllApiLog;
import com.jianshui.system.domain.InvoiceAllYhdj;
import com.jianshui.system.mapper.InvoiceAllApiLogMapper;
import com.jianshui.system.mapper.InvoiceAllYhdjMapper;
import com.jianshui.invoiceall.service.IInvoiceAll;
import com.jianshui.common.utils.jcsk.ApiHttp;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
import java.util.*;
/**
@ -71,6 +74,9 @@ public class InvoiceAllImpl implements IInvoiceAll {
@Autowired
private InvoiceAllYhdjMapper yhdjMapper;
@Autowired
private UserRegistedLogService userRegistedLogServicel;
/**
* 用户登记
@ -131,6 +137,47 @@ public class InvoiceAllImpl implements IInvoiceAll {
}
/**
* 用户登记
*
* @return
*/
@Override
public AjaxResult registed(Companyservice companyservice, InvoiceAllYhdjDTO invoiceAllYhdjDTO) {
YhdjDTO yhdjDTO = BeanUtil.copyProperties(invoiceAllYhdjDTO, YhdjDTO.class);
ValidateUtils.validate(yhdjDTO);
if (BeanUtil.isEmpty(invoiceAllYhdjDTO.getJsonData())) {
return AjaxResult.error("传入报文错误,请检查,明细不存在!");
}
YhdjDetailDTO yhdjDetailDTOList = BeanUtil.copyProperties(invoiceAllYhdjDTO.getJsonData(), YhdjDetailDTO.class);
ValidateUtils.validate(yhdjDetailDTOList);
yhdjDTO.setJsonData(yhdjDetailDTOList);
JSONObject result = new JSONObject();
try {
result = ApiHttp.request(WebServiceConstant.YHDJ, WebServiceConstant.URL, yhdjDTO, companyservice);
userRegistedLogServicel.saveRequest(JSON.toJSONString(yhdjDTO),result.toString(),Constants.STRING_1);
String code = result.get("code") != null ? result.get("code").toString() : "";
String msg = result.get("msg") != null ? result.get("msg").toString() : "";
String data = result.get("data") != null ? result.get("data").toString() : "";
if ("0000".equals(code)) {
return AjaxResult.success(result);
} else {
return AjaxResult.error(msg);
}
} catch (Exception e) {
e.printStackTrace();
log.error("【金四服务类】【金财数科】【用户登记】API请求异常,外部报文返回code非0000。错误信息:{}", e.getMessage());
return AjaxResult.error(ErrorCode.INCOME_ERROR);
}
}
/**
* 授权活跃状态查询
@ -147,6 +194,7 @@ public class InvoiceAllImpl implements IInvoiceAll {
String code = result.get("code") != null ? result.get("code").toString() : "";
String msg = result.get("msg") != null ? result.get("msg").toString() : "";
userRegistedLogServicel.saveRequest(requestBody.toJSONString(),responParam,Constants.STRING_3);
if ("S000".equals(code)) {
return AjaxResult.success(msg);
} else {
@ -1334,6 +1382,7 @@ public class InvoiceAllImpl implements IInvoiceAll {
String msg = result.get("msg") != null ? result.get("msg").toString() : "";
String data = result.get("data") != null ? result.get("data").toString() : "";
userRegistedLogServicel.saveRequest(requestBody.toJSONString(),result.toString(),Constants.STRING_2);
if ("0000".equals(code) && StrUtil.isNotEmpty(data)) {
JSONObject json = JSONUtil.parseObj(data);
String requestId = json.getOrDefault("requestId", "").toString();
@ -1354,4 +1403,16 @@ public class InvoiceAllImpl implements IInvoiceAll {
}
public boolean saveRequest(String requestParam,String responseParam,String requestType){
UserRegistedLogEntity userRegistedLog = new UserRegistedLogEntity();
userRegistedLog.setBatchId(UUID.randomUUID().toString().replace("-",""));
userRegistedLog.setLoginAccount(SecurityUtils.getUsername());
userRegistedLog.setCreateTime(new Date());
userRegistedLog.setRequestType(requestType);
userRegistedLog.setRequestData(requestParam);
userRegistedLog.setResponseData(responseParam);
return userRegistedLogServicel.save(userRegistedLog);
}
}

@ -0,0 +1,7 @@
package com.jianshui.invoice.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jianshui.invoice.domain.UserRegistedLogEntity;
public interface UserRegistedLogMapper extends BaseMapper<UserRegistedLogEntity> {
}

@ -0,0 +1,15 @@
package com.jianshui.invoice.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jianshui.invoice.domain.UserRegistedLogEntity;
public interface UserRegistedLogService extends IService<UserRegistedLogEntity> {
/**
* 保存请求参数
* @param requestParam
* @param responseParam
* @param requestType
* @return
*/
public void saveRequest(String requestParam,String responseParam,String requestType);
}

@ -0,0 +1,36 @@
package com.jianshui.invoice.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jianshui.common.utils.SecurityUtils;
import com.jianshui.invoice.domain.UserRegistedLogEntity;
import com.jianshui.invoice.mapper.UserRegistedLogMapper;
import com.jianshui.invoice.service.UserRegistedLogService;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.UUID;
@Service
public class UserRegistedLogServiceImpl extends ServiceImpl<UserRegistedLogMapper, UserRegistedLogEntity> implements UserRegistedLogService {
/**
* 保存请求参数
* @param requestParam
* @param responseParam
* @param requestType
* @return
*/
@Async
public void saveRequest(String requestParam,String responseParam,String requestType){
UserRegistedLogEntity userRegistedLog = new UserRegistedLogEntity();
userRegistedLog.setBatchId(UUID.randomUUID().toString().replace("-",""));
userRegistedLog.setCreateTime(new Date());
userRegistedLog.setRequestType(requestType);
userRegistedLog.setRequestData(requestParam);
userRegistedLog.setResponseData(responseParam);
this.save(userRegistedLog);
}
}

@ -20,7 +20,7 @@ export function getInvoiceallyhdj(id) {
//用户登记
export function registeredMethod(registeredParams,identity) {
return request({
url: '/api/invoice_all/v1/registration?identity=' + identity+"&order="+registeredParams,
url: '/api/invoice_all/v1/registed?identity=' + identity+"&order="+registeredParams,
method: 'post',
})
}

@ -423,8 +423,7 @@ export default {
const requestBody = {
key: resp.data.secret,
order: JSON.stringify({
nsrsbh: this.chooses[0].nsrsbh,
yhm: this.chooses[0].nsrmc
nsrsbh: this.chooses[0].nsrsbh
}),
}
encrypt(requestBody).then(res => {
@ -501,7 +500,7 @@ 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}
return {identity:item.identity,nsrsbh:item.nsrsbh}
})
this.single = selection.length!==1
this.multiple = !selection.length

Loading…
Cancel
Save