nc推送动态获取url;

This commit is contained in:
王奎兴
2026-03-02 10:42:23 +08:00
parent 2ad2f9d0ab
commit 878d9ab1cf
7 changed files with 335 additions and 2 deletions
@@ -11,6 +11,8 @@ import com.mhd.bms.domain.billManage.repository.po.BillManagePO;
import com.mhd.bms.domain.billManage.repository.todo.BillManageDO;
import com.mhd.bms.domain.bmsInvoiceList.entity.BmsInvoiceList;
import com.mhd.bms.domain.bmsInvoiceList.repository.mapper.BmsInvoiceListMapper;
import com.mhd.bms.domain.ncDataPushConfig.entity.NcDataPushConfig;
import com.mhd.bms.domain.ncDataPushConfig.repository.mapper.NcDataPushConfigMapper;
import com.mhd.bms.domain.ncLog.entity.NcLog;
import com.mhd.bms.domain.ncLog.repository.mapper.NcLogMapper;
import com.mhd.bms.interfaces.dto.billManage.BillManageDTO;
@@ -67,15 +69,17 @@ public class BillManageImpl extends ServiceImpl<BillManageMapper, BillManage> im
private BmsInvoiceListMapper bmsInvoiceListMapper;
//nc测试环境地址
private String url="http://10.0.0.212/service/XChangeServlet?account=NKNC&groupcode=CNK";
//private String url="http://10.0.0.212/service/XChangeServlet?account=NKNC&groupcode=CNK";
//nc正式环境地址
private String zsurl="http://10.0.0.202/service/XChangeServlet?account=NKNC&groupcode=CNK";
//private String zsurl="http://10.0.0.202/service/XChangeServlet?account=NKNC&groupcode=CNK";
@Autowired
private NcLogMapper ncLogMapper;
@Resource
private WlhyServiceFeign wlhyServiceFeign;
@Autowired
private NcDataPushConfigMapper ncDataPushConfigMapper;
/**
* 查询账单管理列表
*/
@@ -257,6 +261,14 @@ public class BillManageImpl extends ServiceImpl<BillManageMapper, BillManage> im
reconciliation.setSynchronousTime(new Date());
reconciliation.setNcId("ys"+String.valueOf(reconciliation.getBillManageId()));
//billManageMapper.updateById(reconciliation);
Long organizationId = reconciliation.getOrganizationId();
List<NcDataPushConfig> ncurl = ncDataPushConfigMapper.selectList(new QueryWrapper<NcDataPushConfig>().eq("organization_id", organizationId));
String zsurl = "";
if (ncurl != null && ncurl.size() > 0) {
zsurl = ncurl.get(0).getNcUrl();
} else {
throw new ServiceException("未找到对应的nc推送地址");
}
CloseableHttpClient httpClient = HttpClients.createDefault();
HttpPost httpPost = new HttpPost(zsurl);
StringEntity postingString = new StringEntity(xmlString, "UTF-8");
@@ -429,6 +441,14 @@ public class BillManageImpl extends ServiceImpl<BillManageMapper, BillManage> im
reconciliation.setSkNcId("sk"+String.valueOf(reconciliation.getBillManageId()));
//billManageMapper.updateById(reconciliation);
CloseableHttpClient httpClient = HttpClients.createDefault();
Long organizationId = reconciliation.getOrganizationId();
List<NcDataPushConfig> ncurl = ncDataPushConfigMapper.selectList(new QueryWrapper<NcDataPushConfig>().eq("organization_id", organizationId));
String zsurl = "";
if (ncurl != null && ncurl.size() > 0) {
zsurl = ncurl.get(0).getNcUrl();
} else {
throw new ServiceException("未找到对应的nc推送地址");
}
HttpPost httpPost = new HttpPost(zsurl);
StringEntity postingString = new StringEntity(xmlString, "UTF-8");
httpPost.setEntity(postingString);
@@ -0,0 +1,52 @@
package com.mhd.bms.domain.ncDataPushConfig.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.mhd.common.core.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
import lombok.Data;
/**
* nc推送配置类 NC_DATA_PUSH_CONFIG
*
* @author wkx
* @date 2024-07-02
*/
@Data
public class NcDataPushConfig extends BaseVOEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("账单管理id")
@TableId(type = IdType.AUTO)
private Long Id;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("nc组织id")
@Excel(name = "nc组织id")
private String ncOrganizationCode;
@ApiModelProperty("nc推送地址")
@Excel(name = "nc推送地址")
private String ncUrl;
@ApiModelProperty("推送环境")
@Excel(name = "推送环境")
private String ncPushEnv;
@ApiModelProperty("nc业务名称")
@Excel(name = "nc业务名称")
private String ncBusinessName;
}
@@ -0,0 +1,21 @@
package com.mhd.bms.domain.ncDataPushConfig.repository.facade;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mhd.bms.domain.ncDataPushConfig.entity.NcDataPushConfig;
import java.util.List;
/**
* Service接口
*
* @author gen
* @date 2024-07-02
*/
public interface INcDataPushConfigService extends IService<NcDataPushConfig>
{
/**
* 分页查询列表
*/
public List<NcDataPushConfig> queryList(NcDataPushConfig ncDataPushConfig);
}
@@ -0,0 +1,25 @@
package com.mhd.bms.domain.ncDataPushConfig.repository.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mhd.bms.domain.billManage.entity.BillManage;
import com.mhd.bms.domain.billManage.repository.po.BillManagePO;
import com.mhd.bms.domain.billManage.repository.todo.BillManageDO;
import com.mhd.bms.domain.ncDataPushConfig.entity.NcDataPushConfig;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* nc推送配置类Mapper接口
*
* @author wkx
* @date 2024-07-02
*/
public interface NcDataPushConfigMapper extends BaseMapper<NcDataPushConfig>
{
/**
* 列表查询
*/
public List<NcDataPushConfig> queryList(@Param("ncDataPushConfig") NcDataPushConfig ncDataPushConfig);
}
@@ -0,0 +1,75 @@
package com.mhd.bms.domain.ncDataPushConfig.repository.persistence;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.mhd.bms.domain.billManage.entity.BillManage;
import com.mhd.bms.domain.billManage.repository.facade.IBillManageService;
import com.mhd.bms.domain.billManage.repository.mapper.BillManageMapper;
import com.mhd.bms.domain.billManage.repository.po.BillManagePO;
import com.mhd.bms.domain.billManage.repository.todo.BillManageDO;
import com.mhd.bms.domain.bmsInvoiceList.entity.BmsInvoiceList;
import com.mhd.bms.domain.bmsInvoiceList.repository.mapper.BmsInvoiceListMapper;
import com.mhd.bms.domain.ncDataPushConfig.entity.NcDataPushConfig;
import com.mhd.bms.domain.ncDataPushConfig.repository.facade.INcDataPushConfigService;
import com.mhd.bms.domain.ncDataPushConfig.repository.mapper.NcDataPushConfigMapper;
import com.mhd.bms.domain.ncLog.entity.NcLog;
import com.mhd.bms.domain.ncLog.repository.mapper.NcLogMapper;
import com.mhd.bms.interfaces.dto.billManage.BillManageDTO;
import com.mhd.common.core.domain.dto.nc.*;
import com.mhd.common.core.domain.entity.TmsOrder;
import com.mhd.common.core.domain.po.UserPo;
import com.mhd.common.core.exception.ServiceException;
import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.system.api.WlhyServiceFeign;
import com.mhd.system.api.model.LoginUser;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;
import javax.annotation.Resource;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import java.io.IOException;
import java.io.StringReader;
import java.io.StringWriter;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* 账单管理Service业务层处理
*
* @author gen
* @date 2024-07-02
*/
@Service
public class NcDataPushConfigImpl extends ServiceImpl<NcDataPushConfigMapper, NcDataPushConfig> implements INcDataPushConfigService {
@Autowired
private NcDataPushConfigMapper ncDataPushConfigMapper;
/**
* 查询账单管理列表
*/
@Override
public List<NcDataPushConfig> queryList(NcDataPushConfig ncDataPushConfig)
{
return ncDataPushConfigMapper.queryList(ncDataPushConfig);
}
}
@@ -0,0 +1,97 @@
package com.mhd.bms.interfaces.facadeApi;
import com.mhd.bms.application.server.billManage.BillManageApplicationService;
import com.mhd.bms.domain.billManage.repository.po.BillManagePO;
import com.mhd.bms.domain.billManage.repository.todo.BillManageDO;
import com.mhd.bms.domain.ncDataPushConfig.entity.NcDataPushConfig;
import com.mhd.bms.domain.ncDataPushConfig.repository.facade.INcDataPushConfigService;
import com.mhd.bms.domain.taskFlowRecords.repository.po.TaskFlowRecordsPO;
import com.mhd.bms.domain.taskFlowRecords.repository.todo.TaskFlowRecordsDO;
import com.mhd.bms.infrastructure.utils.UniqueKeyUtil;
import com.mhd.bms.interfaces.dto.billManage.BillManageDTO;
import com.mhd.bms.interfaces.dto.taskFlowRecords.TaskFlowRecordsDTO;
import com.mhd.common.core.exception.ServiceException;
import com.mhd.common.core.web.controller.BaseController;
import com.mhd.common.core.web.domain.AjaxResult;
import com.mhd.common.core.web.page.TableDataInfo;
import com.mhd.common.log.annotation.Log;
import com.mhd.common.log.enums.BusinessType;
import com.mhd.common.redis.enums.RedisLockTypeEnum;
import com.mhd.common.redis.service.RedisLock;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.redisson.api.RLock;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.concurrent.TimeUnit;
/**
* nc推送配置Api
*
* @author gen
* @date 2024-07-02
*/
@Slf4j
@RestController
@RequestMapping("/NcDataPushConfigApi")
public class NcDataPushConfigApi extends BaseController{
@Autowired
private INcDataPushConfigService ncDataPushConfigService;
/**
* 分页查询配置列表
*/
@ApiOperation("查询配置列表")
@GetMapping("/list")
public TableDataInfo list(NcDataPushConfig ncDataPushConfig)
{
startPage();
List<NcDataPushConfig> list = ncDataPushConfigService.queryList(ncDataPushConfig);
return getDataTable(list);
}
/**
* 保存配置
*/
@ApiOperation("保存配置")
@PostMapping("/save")
public AjaxResult save(@RequestBody NcDataPushConfig ncDataPushConfig)
{
return toAjax(ncDataPushConfigService.save(ncDataPushConfig));
}
@ApiOperation("获取")
@PostMapping("/getById")
public AjaxResult getById(@RequestBody NcDataPushConfig ncDataPushConfig)
{
NcDataPushConfig config = ncDataPushConfigService.getById(ncDataPushConfig.getId());
return AjaxResult.success(config);
}
/**
* 修改配置
*/
@ApiOperation("修改配置")
@PostMapping("/edit")
public AjaxResult edit(@RequestBody NcDataPushConfig ncDataPushConfig)
{
return toAjax(ncDataPushConfigService.updateById(ncDataPushConfig));
}
/**
* 删除配置
*/
@ApiOperation("删除配置")
@PostMapping("/delete")
public AjaxResult delete(@RequestBody NcDataPushConfig ncDataPushConfig)
{
return toAjax(ncDataPushConfigService.removeById(ncDataPushConfig.getId()));
}
}
@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mhd.bms.domain.ncDataPushConfig.repository.mapper.NcDataPushConfigMapper">
<select id="queryList" parameterType="com.mhd.bms.domain.ncDataPushConfig.entity.NcDataPushConfig" resultType="com.mhd.bms.domain.ncDataPushConfig.entity.NcDataPushConfig">
select
*
from NC_DATA_PUSH_CONFIG
where del_flag = 1
<include refid="common_where"/>
ORDER BY create_time DESC
</select>
<sql id="common_where">
<if test="billManageDO.createTimeStart != null and billManageDO.createTimeStart != ''">
AND date_format(create_time,'%Y-%m-%d') <![CDATA[>=]]> #{billManageDO.createTimeStart}
</if>
<if test="billManageDO.createTimeEnd != null and billManageDO.createTimeEnd != ''">
AND date_format(create_time,'%Y-%m-%d') <![CDATA[<=]]> #{billManageDO.createTimeEnd}
</if>
<if test="billManageDO.createByName != null and billManageDO.createByName != ''">
AND create_by_name like concat('%', #{billManageDO.createByName}, '%')
</if>
<if test="billManageDO.organizationId != null">
AND organization_id = #{billManageDO.organizationId}
</if>
<if test="billManageDO.topOrganizationId != null and billManageDO.topOrganizationId != ''">
AND top_organization_id = #{billManageDO.topOrganizationId}
</if>
<if test="billManageDO.updateTimeStart != null and billManageDO.updateTimeStart != ''">
AND date_format(update_time,'%Y-%m-%d') <![CDATA[>=]]> #{billManageDO.updateTimeStart}
</if>
<if test="billManageDO.updateTimeEnd != null and billManageDO.updateTimeEnd != ''">
AND date_format(update_time,'%Y-%m-%d') <![CDATA[<=]]> #{billManageDO.updateTimeEnd}
</if>
<if test="billManageDO.updateByName != null and billManageDO.updateByName != ''">
AND update_by_name like concat('%', #{billManageDO.updateByName}, '%')
</if>
</sql>
</mapper>