feature 1.合并定制化内容

zhenghaiyang@ele-cloud.com 2 years ago committed by WangQi
parent 70bec932da
commit 1abd3eed6d
  1. 8
      order-management-base-service/src/main/java/com/dxhy/order/baseservice/config/UserCenterConfig.java
  2. 4
      order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/base/model/RuleSplitEntity.java
  3. 4
      order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/base/model/bo/RuleSplitEntityBO.java
  4. 5
      order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/base/model/vo/RuleSplitEntityVO.java
  5. 3
      order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/buyer/service/impl/VerifyBuyerManageInfoServiceImpl.java
  6. 64
      order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/thirdservice/user/dto/AddUserRequestDto.java
  7. 30
      order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/thirdservice/user/service/UserInfoService.java
  8. 118
      order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/thirdservice/user/service/impl/UserInfoServiceImpl.java
  9. 42
      order-management-base-service/src/main/resources/mybatis/mapper/GroupTaxClassCodeMapper.xml
  10. 9
      order-management-base-service/src/main/resources/mybatis/mapper/RuleSplitMapper.xml
  11. 2
      order-management-common/src/main/java/com/dxhy/order/constant/ConfigureConstant.java
  12. 14
      order-management-common/src/main/java/com/dxhy/order/constant/ConfigurerInfo.java
  13. 2
      order-management-common/src/main/java/com/dxhy/order/constant/OrderInfoContentEnum.java
  14. 34
      order-management-common/src/main/java/com/dxhy/order/constant/OrderInfoEnum.java
  15. 1
      order-management-common/src/main/java/com/dxhy/order/model/QuickResponseCodeInfo.java
  16. 35
      order-management-common/src/main/java/com/dxhy/order/model/R.java
  17. 38
      order-management-common/src/main/java/com/dxhy/order/utils/CommonUtils.java
  18. 11
      order-management-common/src/main/java/com/dxhy/order/utils/HttpUtils.java
  19. 2
      order-management-consumer/src/main/java/com/dxhy/order/consumer/constant/InterfaceNameEnum.java
  20. 23
      order-management-consumer/src/main/java/com/dxhy/order/consumer/dao/InvoiceRemarkSetMapper.java
  21. 2
      order-management-consumer/src/main/java/com/dxhy/order/consumer/dao/OrderQrcodeExtendInfoMapper.java
  22. 2
      order-management-consumer/src/main/java/com/dxhy/order/consumer/dao/QuickResponseCodeInfoMapper.java
  23. 2
      order-management-consumer/src/main/java/com/dxhy/order/consumer/model/page/PageQrOrderInfo.java
  24. 2
      order-management-consumer/src/main/java/com/dxhy/order/consumer/model/page/PageQrcodeAndInvoiceDetailInfo.java
  25. 2
      order-management-consumer/src/main/java/com/dxhy/order/consumer/model/page/PageQuickResponseCodeInfo.java
  26. 22
      order-management-consumer/src/main/java/com/dxhy/order/consumer/model/page/PageUserInfoReq.java
  27. 154
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/PushInvoiceServiceImpl.java
  28. 50
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/controller/InvoiceRemarkSetController.java
  29. 26
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/model/InvoiceRemarkSet.java
  30. 18
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/model/vo/InvoiceRemarkSetVo.java
  31. 20
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/InvoiceRemarkSetService.java
  32. 4
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/OrderQrcodeExtendService.java
  33. 4
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/QrcodeService.java
  34. 70
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/InvoiceRemarkSetServiceImpl.java
  35. 8
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderQrcodeExtendServiceImpl.java
  36. 2
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/QuickCodeInfoServiceImpl.java
  37. 57
      order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/api/InvoiceOpenGateRestApi.java
  38. 108
      order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/api/InvoiceRestApiV6.java
  39. 35
      order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/api/InvoiceRestSDEnregy.java
  40. 122
      order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/protocol/v6/sdenergy/MdmSyncUserReqBO.java
  41. 17
      order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/ISDEnregyService.java
  42. 19
      order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/InterfaceServiceV6.java
  43. 46
      order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/InterfaceServiceImplV6.java
  44. 60
      order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/SDEnregyServiceImpl.java
  45. 113
      order-management-consumer/src/main/java/com/dxhy/order/consumer/utils/BeanTransitionUtils.java
  46. 12
      order-management-consumer/src/main/resources/bootstrap-pre.yaml
  47. 4
      order-management-consumer/src/main/resources/bootstrap-preNew.yaml
  48. 177
      order-management-consumer/src/main/resources/mybatis/mapper/InvoiceRemarkSetMapper.xml
  49. 67
      pom.xml

@ -91,6 +91,14 @@ public class UserCenterConfig {
return saaSSsoUrl + "/uadmin/user/getUserInfo";
}
/**
* i-tax新增用户
* @return
*/
public String configAddBigUser(){
return dbUserInfoUrl + "/api/user/addUserInfo";
}
/**
* 获取大B用户信息
*

@ -39,6 +39,10 @@ public class RuleSplitEntity implements Serializable {
* 是否按照含税金额拆分 0 按照不含税金额拆分 1 按照含税金额拆分
*/
private String hsbz;
/**
* 单价允许差额
*/
private String djce;
/**
* 创建时间
*/

@ -47,4 +47,8 @@ public class RuleSplitEntityBO implements Serializable {
* 发票限额信息
*/
List<InvoiceAllowance> invoiceAllowanceList;
/**
* 单价允许差额
*/
private String djce;
}

@ -47,4 +47,9 @@ public class RuleSplitEntityVO implements Serializable {
* 发票限额信息
*/
List<InvoiceAllowance> invoiceAllowanceList;
/**
* 单价允许差额
*/
private String djce;
}

@ -259,7 +259,8 @@ public class VerifyBuyerManageInfoServiceImpl implements VerifyBuyerManageInfoSe
} else {
if (!StringUtils.equals(ConfigureConstant.STRING_0, gmfxxtbReq.getCZLX())
&& !StringUtils.equals(ConfigureConstant.STRING_1, gmfxxtbReq.getCZLX())
&& !StringUtils.equals(ConfigureConstant.STRING_2, gmfxxtbReq.getCZLX())) {
&& !StringUtils.equals(ConfigureConstant.STRING_2, gmfxxtbReq.getCZLX())
&& !StringUtils.equals(ConfigureConstant.STRING_3, gmfxxtbReq.getCZLX())) {
Map<String, String> checkResultMap3 = new HashMap<>(2);
checkResultMap3.put(OrderManagementConstant.ERRORCODE, OrderInfoContentEnum.BUYER_MESSAGE_SYNC_CZLX_ERROR_183019.getKey());
checkResultMap3.put(OrderManagementConstant.ERRORMESSAGE, preStr + OrderInfoContentEnum.BUYER_MESSAGE_SYNC_CZLX_ERROR_183019.getMessage());

@ -0,0 +1,64 @@
package com.dxhy.order.baseservice.module.thirdservice.user.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* 增加用户dto
* 与AdminUserOperateDto一致
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class AddUserRequestDto implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 用户id
*/
private Long userId;
/**
* 登陆人id
*/
private Long puserId;
/**
* 用户名
*/
private String username;
/**
* 姓名
*/
private String name;
/**
* 密码
*/
private String password;
/**
* 手机号
*/
private String mobile;
/**
* 部门ID
*/
private Long deptId;
/**
* 看板权限
*/
private Integer boradAuth;
/**
* 角色id
*/
private List<Long> roleIdList;
/**
* 数据权限id
*/
private List<Long> deptList;
}

@ -1,9 +1,10 @@
package com.dxhy.order.baseservice.module.thirdservice.user.service;
import com.dxhy.order.model.R;
import com.dxhy.order.baseservice.module.thirdservice.user.dto.AddUserRequestDto;
import com.dxhy.order.baseservice.module.thirdservice.user.model.DeptEntity;
import com.dxhy.order.baseservice.module.thirdservice.user.model.UserEntity;
import com.dxhy.order.baseservice.module.thirdservice.user.model.bo.UserInfoQuery;
import com.dxhy.order.model.R;
import java.util.List;
import java.util.Map;
@ -17,6 +18,11 @@ import java.util.Map;
public interface UserInfoService {
/**
* 新增用户
* @return
*/
R addUser(AddUserRequestDto addUserRequestDto);
/**
* 获取用户信息
@ -25,6 +31,13 @@ public interface UserInfoService {
*/
UserEntity getUser();
/**
* 返过滤器用户信息
* 不包含税号为空的数据
* @return
*/
R getUserInfoToFilter();
/**
* 获取用户信息
*/
@ -44,6 +57,13 @@ public interface UserInfoService {
*/
List<String> getTaxpayerCodeList();
/**
* 获取数据权限Id列表
*
* @return
*/
List<String> getEntList();
/**
* 获取用户部门信息
*
@ -66,6 +86,14 @@ public interface UserInfoService {
*/
DeptEntity querySysDeptEntityByTaxplayercode(String taxpayerCode);
/**
* 根据组织编号获取组织信息
*
* @param enterpriseNumbers
* @return
*/
DeptEntity querySysDeptEntityByEnterpriseNumbers(String enterpriseNumbers);
/**
* 获取企业初始化信息
*

@ -5,16 +5,11 @@ import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.dxhy.order.constant.ConfigureConstant;
import com.dxhy.order.constant.OrderInfoEnum;
import com.dxhy.order.constant.OrderManagementConstant;
import com.dxhy.order.model.R;
import com.dxhy.order.utils.HttpUtils;
import com.dxhy.order.utils.JsonUtils;
import com.dxhy.order.baseservice.config.UserCenterConfig;
import com.dxhy.order.baseservice.module.groupmanagement.model.GroupManagementEntity;
import com.dxhy.order.baseservice.module.groupmanagement.service.GroupManagementService;
import com.dxhy.order.baseservice.module.thirdservice.redis.service.RedisService;
import com.dxhy.order.baseservice.module.thirdservice.user.dto.AddUserRequestDto;
import com.dxhy.order.baseservice.module.thirdservice.user.model.*;
import com.dxhy.order.baseservice.module.thirdservice.user.model.bo.UserInfoQuery;
import com.dxhy.order.baseservice.module.thirdservice.user.model.oldusercenter.SsoUser;
@ -22,6 +17,12 @@ import com.dxhy.order.baseservice.module.thirdservice.user.model.oldusercenter.S
import com.dxhy.order.baseservice.module.thirdservice.user.model.oldusercenter.SysMenuEntity;
import com.dxhy.order.baseservice.module.thirdservice.user.model.oldusercenter.SysRoleEntity;
import com.dxhy.order.baseservice.module.thirdservice.user.service.UserInfoService;
import com.dxhy.order.constant.ConfigureConstant;
import com.dxhy.order.constant.OrderInfoEnum;
import com.dxhy.order.constant.OrderManagementConstant;
import com.dxhy.order.model.R;
import com.dxhy.order.utils.HttpUtils;
import com.dxhy.order.utils.JsonUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
@ -53,6 +54,50 @@ public class UserInfoServiceImpl implements UserInfoService {
@Resource
private RedisService redisService;
/**
* 新增用户
*
* @param addUserRequestDto
* @return
*/
@Override
public R addUser(AddUserRequestDto addUserRequestDto) {
// 山能项目先只处理大B的api对接
HttpServletRequest req = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
Map<String, String> headMap = new HashMap<>(2);
headMap.put("Content-Type", ConfigureConstant.STRING_APPLICATION_JSON);
String requestToken = req.getHeader(ConfigureConstant.DXHY_SSO_SESSION_ID);
headMap.put("Cookie", "dxhy_sso_sessionid=" + requestToken);
String requestBody = JsonUtils.getInstance().toJsonString(addUserRequestDto);
String result = null;
R requestResult = R.error("请求异常");
try {
log.info("{},新增用户的接口,url:{},入参:{}", LOGGER_MSG, userCenterConfig.configAddBigUser(), requestBody);
result = HttpUtils.doPostWithHeader(userCenterConfig.configAddBigUser(), requestBody, headMap);
log.info("{},新增用户的接口,返回报文:{}", LOGGER_MSG, result);
requestResult = JsonUtils.getInstance().parseObject(result, R.class);
} catch (Exception e) {
log.error("{},新增用户的接口异常:{}", LOGGER_MSG, e);
}
if (StringUtils.isEmpty(result) || requestResult == null) {
// 根据getUserInfo()的逻辑,如果返回为空,就代表着需要返回401进行重定向
if (StringUtils.isEmpty(result)) {
return R.error().put(OrderManagementConstant.CODE, ConfigureConstant.INT_401).put("redirectUrl", userCenterConfig.configBigBRedirectUrl());
}
return R.error("新增用户失败");
}
String msg = requestResult.getExistsMessage();
if (requestResult.isError()) {
// 非401返回错误信息
return R.error(StringUtils.isEmpty(msg) ? "新增用户失败" : msg);
}
return R.ok(StringUtils.isEmpty(msg) ? "新增用户成功" : msg);
}
@Override
public UserEntity getUser() {
@ -71,6 +116,29 @@ public class UserInfoServiceImpl implements UserInfoService {
return null;
}
@Override
public R getUserInfoToFilter() {
// TODO 新版本接口增加查询条件
UserInfoQuery infoQuery = new UserInfoQuery();
R r = getUserInfo(infoQuery);
if (ConfigureConstant.STRING_0000.equals(r.get(OrderManagementConstant.CODE))) {
UserEntity userEntity = (UserEntity) r.get(OrderManagementConstant.DATA);
List<TaxPlayerCodeDept> taxPlayerCodeDeptList = userEntity.getTaxplayercodeDeptList().stream()
.filter(taxPlayerCodeDept -> StringUtils.isNotBlank(taxPlayerCodeDept.getTaxpayerCode()))
.distinct()
.collect(Collectors.toList());
if (taxPlayerCodeDeptList.size() < 1) {
R r1 = R.ok();
r1.put(OrderManagementConstant.CODE, "9999");
r1.put(OrderManagementConstant.ALL_MESSAGE, "用户未完善企业信息");
return r1;
}
userEntity.setTaxplayercodeDeptList(taxPlayerCodeDeptList);
}
return r;
}
@Override
public R getUserInfo(UserInfoQuery userInfoQuery) {
/*
@ -247,6 +315,20 @@ public class UserInfoServiceImpl implements UserInfoService {
return new ArrayList<>(texCodeList);
}
/**
* 获取当前登陆人下的所有数据权限的Id
*/
@Override
public List<String> getEntList() {
Set<String> entList = new HashSet<>();
UserEntity user = getUser();
List<TaxPlayerCodeDept> taxplayercodeDeptList = user.getTaxplayercodeDeptList();
for (TaxPlayerCodeDept sysDeptEntity : taxplayercodeDeptList) {
entList.add(sysDeptEntity.getEnterpriseNumbers());
}
return new ArrayList<>(entList);
}
/**
*
*/
@ -288,6 +370,30 @@ public class UserInfoServiceImpl implements UserInfoService {
return null;
}
@Override
public DeptEntity querySysDeptEntityByEnterpriseNumbers(String enterpriseNumbers) {
Map<String, String> paraMap = new HashMap<>(2);
paraMap.put("enterpriseNumber", enterpriseNumbers);
Map<String, String> headMap = new HashMap<>(2);
headMap.put("Content-Type", ConfigureConstant.STRING_APPLICATION_JSON);
try {
String queryTaxInfo = userCenterConfig.configQueryBigBOrgInfoByEnterpriseNumbers();
log.info("{},获取企业信息的接口,url:{},入参:{}", LOGGER_MSG, queryTaxInfo, JsonUtils.getInstance().toJsonString(paraMap));
String result = HttpUtils.doPostWithHeader(queryTaxInfo, JsonUtils.getInstance().toJsonString(paraMap), headMap);
log.info("{}调用用户信息获取信息为:{}", LOGGER_MSG, result);
if (StringUtils.isNotBlank(result)) {
JSONObject jsonObject = JSON.parseObject(result);
if (!jsonObject.isEmpty() && ConfigureConstant.STRING_0000.equals(jsonObject.get(OrderManagementConstant.CODE))) {
return JsonUtils.getInstance().parseObject(jsonObject.getString(OrderManagementConstant.DATA), DeptEntity.class);
}
}
} catch (Exception e) {
log.error("{}调用用户信息获取服务异常:{}", LOGGER_MSG, e);
return null;
}
return null;
}
@Override
public DeptEntity querySysDeptEntityFromUrl(String taxpayerCode, String taxpayerName, String entId) {
Map<String, String> paraMap = new HashMap<>(2);

@ -77,6 +77,48 @@
#{groupId,jdbcType=VARCHAR}, #{taxClassAbbreviation,jdbcType=VARCHAR},
#{differenceFlag,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR})
</insert>
<insert id="insertOnDuplicateKey" parameterType="com.dxhy.order.baseservice.module.taxclass.model.GroupTaxClassCodeEntity">
insert into group_tax_class_code (id, sort_id, xhf_nsrsbh,
merchandise_name, encoding, tax_items,
brief_code, specification_model, metering_unit,
unit_price, tax_class_code, tax_classification_name,
create_time, dept_id, data_source,
matching_state, data_state, share_state,
group_id, tax_class_abbreviation, difference_flag, description)
values (#{id,jdbcType=VARCHAR}, #{sortId,jdbcType=BIGINT}, #{xhfNsrsbh,jdbcType=VARCHAR},
#{merchandiseName,jdbcType=VARCHAR}, #{encoding,jdbcType=VARCHAR}, #{taxItems,jdbcType=VARCHAR},
#{briefCode,jdbcType=VARCHAR}, #{specificationModel,jdbcType=VARCHAR}, #{meteringUnit,jdbcType=VARCHAR},
#{unitPrice,jdbcType=VARCHAR}, #{taxClassCode,jdbcType=VARCHAR},
#{taxClassificationName,jdbcType=VARCHAR},
#{createTime,jdbcType=TIMESTAMP}, #{deptId,jdbcType=VARCHAR}, #{dataSource,jdbcType=VARCHAR},
#{matchingState,jdbcType=VARCHAR}, #{dataState,jdbcType=VARCHAR}, #{shareState,jdbcType=VARCHAR},
#{groupId,jdbcType=VARCHAR}, #{taxClassAbbreviation,jdbcType=VARCHAR},
#{differenceFlag,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR})
on duplicate key update
id = values(id),
sort_id = values(sort_id),
xhf_nsrsbh = values(xhf_nsrsbh),
merchandise_name = values(merchandise_name),
encoding = values(encoding),
tax_items = values(tax_items),
brief_code = values(brief_code),
specification_model = values(specification_model),
metering_unit = values(metering_unit),
unit_price = values(unit_price),
tax_class_code = values(tax_class_code),
tax_classification_name = values(tax_classification_name),
create_time = values(create_time),
dept_id = values(dept_id),
data_source = values(data_source),
matching_state = values(matching_state),
data_state = values(data_state),
share_state = values(share_state),
group_id = values(group_id),
tax_class_abbreviation = values(tax_class_abbreviation),
difference_flag = values(difference_flag),
description = values(description)
</insert>
<!-- <insert id="insertSelective" parameterType="com.dxhy.order.model.entity.GroupTaxClassCodeEntity" >-->
<!-- insert into group_tax_class_code-->
<!-- <trim prefix="(" suffix=")" suffixOverrides=",">-->

@ -10,13 +10,14 @@
<result column="fpxe" jdbcType="VARCHAR" property="fpxe"/>
<result column="hsbz" jdbcType="VARCHAR" property="hsbz"/>
<result column="rule_split_type" jdbcType="VARCHAR" property="ruleSplitType"/>
<result column="djce" jdbcType="VARCHAR" property="djce"/>
<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
</resultMap>
<sql id="Base_Column_List">
id
, taxpayer_code, user_id, fpzldm, fpxe, hsbz, rule_split_type, create_time, update_time
, taxpayer_code, user_id, fpzldm, fpxe, hsbz, rule_split_type, djce, create_time, update_time
</sql>
<!-- 查询 -->
@ -83,7 +84,8 @@
rule_split_type,
hsbz,
fpzldm,
fpxe
fpxe,
djce
)
VALUES
<foreach collection="ruleSplitEntityList" item="item" index="index" separator=",">
@ -103,7 +105,8 @@
#{item.ruleSplitType,jdbcType=VARCHAR},
#{item.hsbz,jdbcType=VARCHAR},
#{item.fpzldm,jdbcType=VARCHAR},
#{item.fpxe,jdbcType=VARCHAR}
#{item.fpxe,jdbcType=VARCHAR},
#{item.djce,jdbcType=VARCHAR}
)
</foreach>
</insert>

@ -464,6 +464,8 @@ public class ConfigureConstant {
*/
public final static String XJZSXHQD = "详见对应正数发票及清单";
public final static String POTOKEN = "6_ca323ed526e74edea7e023c0733a9bef";
/**
* 数值类型
*/

@ -109,6 +109,10 @@ public class ConfigurerInfo {
* V6版本全电开票接口
*/
public static final String GENERATE_QD_INVOICE = "GenerateQdInvoice";
/**
* 订单驳回状态更新接口 (销售结算报账单的驳回状态传给发票系统(ERP-FI-INT-046))
*/
public static final String ORDER_STATUS_UPDATE = "OrderStatusUpdate";
/**
* 请求执行状态查询接口
@ -229,6 +233,16 @@ public class ConfigurerInfo {
*/
public static final String SYNCBUYERINFO = "SyncBuyerInfo";
/**
* 山能MDM客商购买方信息同步接口
*/
public static final String SDENERGY_MDM_KS_SYNCBUYERINFO = "SdEnergyMdmKsSyncBuyerInfo";
/**
* 山能MDM物料信息同步接口
*/
public static final String SDENERGY_MDM_KS_SYNC_GROUP_TAX_CODE = "SdEnergyMdmKsSyncGroupTaxCode";
/**
* 税控设备信息同步接口
*/

@ -1852,6 +1852,8 @@ public enum OrderInfoContentEnum {
/**
* 发票接口相关状态 V3
*/
INVOICE_ERROR_CODE_OP_S("S", "成功"),
INVOICE_ERROR_CODE_OP_E("E", "失败"),
INVOICE_ERROR_CODE_010000_V3("010000", "发票请求接收成功"),
INVOICE_ERROR_CODE_010001_V3("010001", "发票开具请求数据错误,订单请求批次号已存在"),
INVOICE_ERROR_CODE_010002_V3("010002", "发票开具请求数据错误,订单请求流水号已存在"),

@ -339,6 +339,18 @@ public enum OrderInfoEnum {
TICKET_POOL_INVOICE_TYPE_10("10", "增值税电子普通发票"),
TICKET_POOL_INVOICE_TYPE_08("08", "增值税电子专用发票"),
/**
* 山能业务系统发票类型
*/
SN_INVOICE_TYPE_10("10", "增值税专用发票"),
SN_INVOICE_TYPE_11("11", "增值税普通发票"),
SN_INVOICE_TYPE_12("12", "增值税电子普通发票"),
SN_INVOICE_TYPE_14("14", "机动车销售统一发票"),
SN_INVOICE_TYPE_15("15", "二手车销售统一发票"),
SN_INVOICE_TYPE_25("25", "增值税电子专用发票"),
SN_INVOICE_TYPE_26("26", "电子发票(增值税专用发票)"),
SN_INVOICE_TYPE_27("27", "电子发票(普通发票)"),
/**
* 开票类型0蓝票1红票
*/
@ -385,6 +397,10 @@ public enum OrderInfoEnum {
ORDER_SOURCE_9("9", "发票修复"),
ORDER_SOURCE_10("10", "作废重开"),
/**
* 系统来源(SAP:SAP)
*/
SYS_SOURCE_SAP("SAP","SAP"),
/**
* 订单类型0:原始订单,1:拆分后订单,2:合并后订单,3:系统冲红订单,4:自动开票订单,5:作废重开订单;6:历史数据订单;7:发票修复数据
@ -1222,6 +1238,24 @@ public enum OrderInfoEnum {
*/
ORDER_USER_INFO_IS_FILTER_1("1", "过滤"),
ORDER_USER_INFO_IS_FILTER_2("2", "不过滤"),
/**
* 系统标识
*/
SYS_SIGN_FP("FPXT","发票平台"),
/**
* 接口业务ID
* FI006 FI843 金税平台将金税开票信息返回SAP的接口(ERP-FI-INT-033)
* FI007 FI840 SAP销售结算信息传给金税系统(ERP-FI-INT-034)
* FI008 FI844 金税发票作废信息返回到SAP(ERP-FI-INT-041)
* FI010 FI841 销售结算报账单的驳回状态传给发票系统(ERP-FI-INT-046)
*/
INTERFACE_BUSINESS_ID_FPKJTS("FI843","发票开具回推"),
INTERFACE_BUSINESS_ID_FPKJ("FI840","发票开具"),
INTERFACE_BUSINESS_ID_FPZFTS("FI844","发票作废回推"),
INTERFACE_BUSINESS_ID_DDZTGX("FI841","订单状态更新"),
;
/**

@ -16,6 +16,7 @@ import java.util.Date;
@Setter
public class QuickResponseCodeInfo implements Serializable {
private String id;
private String invoiceTypeCodeId;

@ -101,6 +101,26 @@ public class R extends HashMap<String, Object> {
return this;
}
public Boolean isOk() {
return this.get(OrderManagementConstant.CODE) != null && ConfigureConstant.INT_200 == Integer.parseInt(this.get(OrderManagementConstant.CODE).toString());
}
public Boolean isError() {
return !isOk();
}
public String getCode() {
return this.get(OrderManagementConstant.CODE).toString();
}
public String getMessage() {
return this.get(OrderManagementConstant.MESSAGE).toString();
}
public String getAllMessage() {
return this.get(OrderManagementConstant.ALL_MESSAGE).toString();
}
/**
* 判断是否成功
*
@ -117,4 +137,19 @@ public class R extends HashMap<String, Object> {
return result;
}
/**
* 如果存在allMessage则返回allMessage否则判断是否有message都没有返回null
*
* @return
*/
public String getExistsMessage() {
if (this.get(OrderManagementConstant.ALL_MESSAGE) != null) {
return this.get(OrderManagementConstant.ALL_MESSAGE).toString();
} else if (this.get(OrderManagementConstant.MESSAGE) != null) {
return this.get(OrderManagementConstant.MESSAGE).toString();
} else {
return null;
}
}
}

@ -356,6 +356,44 @@ public class CommonUtils {
return fplxdm;
}
/**
* 山能业务系统发票种类转标品开票接口发票种类代码
* @param fpzldm
* @return
*/
public static String transSnFplxdm(String fpzldm) {
String fplxdm;
if (OrderInfoEnum.SN_INVOICE_TYPE_10.getKey().equals(fpzldm)) {
//增值税专用发票
fplxdm = OrderInfoEnum.ORDER_INVOICE_TYPE_004.getKey();
} else if (OrderInfoEnum.SN_INVOICE_TYPE_11.getKey().equals(fpzldm)) {
//增值税普通发票
fplxdm = OrderInfoEnum.ORDER_INVOICE_TYPE_007.getKey();
} else if (OrderInfoEnum.SN_INVOICE_TYPE_12.getKey().equals(fpzldm)) {
//增值税电子普通发票
fplxdm = OrderInfoEnum.ORDER_INVOICE_TYPE_026.getKey();
} else if (OrderInfoEnum.SN_INVOICE_TYPE_14.getKey().equals(fpzldm)) {
//机动车销售统一发票
fplxdm = OrderInfoEnum.ORDER_INVOICE_TYPE_005.getKey();
}else if (OrderInfoEnum.SN_INVOICE_TYPE_15.getKey().equals(fpzldm)) {
//二手车销售统一发票
fplxdm = OrderInfoEnum.ORDER_INVOICE_TYPE_006.getKey();
}else if (OrderInfoEnum.SN_INVOICE_TYPE_25.getKey().equals(fpzldm)) {
//增值税电子专用发票
fplxdm = OrderInfoEnum.ORDER_INVOICE_TYPE_028.getKey();
}else if (OrderInfoEnum.SN_INVOICE_TYPE_26.getKey().equals(fpzldm)) {
//全电专
fplxdm = OrderInfoEnum.ORDER_INVOICE_TYPE_001.getKey();
}else if (OrderInfoEnum.SN_INVOICE_TYPE_27.getKey().equals(fpzldm)) {
//全电普
fplxdm = OrderInfoEnum.ORDER_INVOICE_TYPE_002.getKey();
}else {
fplxdm = fpzldm;
}
log.debug("{}山能业务系统发票种类转换为标品开票接口发票种类,请求参数为:{},输出参数为:{}", LOGGER_MSG, fpzldm, fplxdm);
return fplxdm;
}
/**
* 获取作废标志的对应的名称

@ -73,4 +73,15 @@ public class HttpUtils {
return body;
}
//请求山能PO
public static String sendPo(String url, String request,String userName,String password) {
long startTime = System.currentTimeMillis();
HttpRequest httpRequest = new HttpRequest(url);
httpRequest.basicAuth(userName,password);
String body = httpRequest.body(request).timeout(300000).execute().body();
long endTime = System.currentTimeMillis();
log.debug("{}以字符串调用post请求url:{},耗时:{}", LOGGER_MSG, url, endTime - startTime);
return body;
}
}

@ -6,7 +6,7 @@ package com.dxhy.order.consumer.constant;
* @author ZSC-DXHY
* @date 创建时间: 2023-01-09 22:27
*/
public enum InterfaceNameEnum {
public enum InterfaceNameEnum{
/**
* 接口统一名称

@ -0,0 +1,23 @@
package com.dxhy.order.consumer.dao;
import com.dxhy.order.consumer.modules.order.model.InvoiceRemarkSet;
import java.util.List;
public interface InvoiceRemarkSetMapper {
int deleteByPrimaryKey(String id);
int deleteByGsbm(String gsbm);
int insert(InvoiceRemarkSet record);
int insertSelective(InvoiceRemarkSet record);
InvoiceRemarkSet selectByPrimaryKey(String id);
List<InvoiceRemarkSet> selectRemarkSetList(InvoiceRemarkSet record);
int updateByPrimaryKeySelective(InvoiceRemarkSet record);
int updateByPrimaryKey(InvoiceRemarkSet record);
}

@ -1,9 +1,9 @@
package com.dxhy.order.consumer.dao;
import com.dxhy.order.model.OrderQrcodeExtendInfo;
import com.dxhy.order.consumer.model.page.PageDynamicQrcodeInfo;
import com.dxhy.order.consumer.model.page.PageQrOrderInfo;
import com.dxhy.order.consumer.model.page.PageQrcodeAndInvoiceDetailInfo;
import com.dxhy.order.model.OrderQrcodeExtendInfo;
import org.apache.ibatis.annotations.Param;
import java.util.List;

@ -1,7 +1,7 @@
package com.dxhy.order.consumer.dao;
import com.dxhy.order.model.QuickResponseCodeInfo;
import com.dxhy.order.consumer.model.page.PageQuickResponseCodeInfo;
import com.dxhy.order.model.QuickResponseCodeInfo;
import org.apache.ibatis.annotations.Param;
import java.util.List;

@ -12,7 +12,7 @@ import java.util.Date;
*/
@Getter
@Setter
public class PageQrOrderInfo {
public class PageQrOrderInfo{
/**
* 订单表主键
*/

@ -10,7 +10,7 @@ import lombok.Setter;
*/
@Getter
@Setter
public class PageQrcodeAndInvoiceDetailInfo {
public class PageQrcodeAndInvoiceDetailInfo{
private String createTime;
private String ddh;
private String kphjje;

@ -12,7 +12,7 @@ import java.util.Date;
*/
@Getter
@Setter
public class PageQuickResponseCodeInfo {
public class PageQuickResponseCodeInfo{
private String id;
private String invoiceTypeCodeId;

@ -1,22 +0,0 @@
package com.dxhy.order.consumer.model.page;
import lombok.Getter;
import lombok.Setter;
/**
* 页面查询用户信息 请求参数bean
* @author: <a href="yaoxuguang@ele-cloud.com">yaoxuguang</a>
* @createDate: Created in 2023-01-06
*/
@Getter
@Setter
public class PageUserInfoReq {
/**
* 用户token
*/
private String userToken;
/**
* 查询类型
*/
private String type;
}

@ -5,22 +5,11 @@ import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONObject;
import com.dxhy.order.constant.*;
import com.dxhy.order.exception.InterfaceException;
import com.dxhy.order.exception.OrderReceiveException;
import com.dxhy.order.model.*;
import com.dxhy.order.model.ofd.OfdToPdfRequest;
import com.dxhy.order.model.ofd.OfdToPdfResponse;
import com.dxhy.order.model.qd.OrderInfoQd;
import com.dxhy.order.model.queue.*;
import com.dxhy.order.model.queue.jdwj.JdwjMqData;
import com.dxhy.order.utils.CommonUtils;
import com.dxhy.order.utils.HttpUtils;
import com.dxhy.order.utils.JsonUtils;
import com.dxhy.order.utils.NsrsbhUtils;
import com.dxhy.order.baseservice.config.BaseServiceConfig;
import com.dxhy.order.baseservice.module.thirdservice.rabbitmq.service.RabbitMqSendMessageService;
import com.dxhy.order.baseservice.module.thirdservice.redis.service.RedisService;
import com.dxhy.order.baseservice.module.thirdservice.simsback.service.SimsBackService;
import com.dxhy.order.constant.*;
import com.dxhy.order.consumer.config.OpenApiConfig;
import com.dxhy.order.consumer.model.protocol.CommonResponse;
import com.dxhy.order.consumer.model.protocol.ResponseData;
@ -28,6 +17,7 @@ import com.dxhy.order.consumer.model.protocol.ResponseStatus;
import com.dxhy.order.consumer.modules.jdjos.service.PushInvoiceToJdJosService;
import com.dxhy.order.consumer.modules.manager.service.PushInvoiceService;
import com.dxhy.order.consumer.modules.manager.service.QuickCodeInfoService;
import com.dxhy.order.consumer.modules.order.service.OrderCommonService;
import com.dxhy.order.consumer.modules.order.service.OrderInfoService;
import com.dxhy.order.consumer.modules.order.service.OrderItemInfoService;
import com.dxhy.order.consumer.modules.order.service.OrderProcessService;
@ -35,6 +25,11 @@ import com.dxhy.order.consumer.modules.ticketpool.service.PushTicketPoolService;
import com.dxhy.order.consumer.openapi.protocol.CommonRequestParam;
import com.dxhy.order.consumer.openapi.protocol.Response;
import com.dxhy.order.consumer.openapi.protocol.order.*;
import com.dxhy.order.consumer.openapi.protocol.po.IsInput;
import com.dxhy.order.consumer.openapi.protocol.po.PoCommonRequestParam;
import com.dxhy.order.consumer.openapi.protocol.po.generateinvoicepush.sap.FpkjtsMxSap;
import com.dxhy.order.consumer.openapi.protocol.po.generateinvoicepush.sap.FpkjtsReqSap;
import com.dxhy.order.consumer.openapi.protocol.po.voidinvoicepush.sap.FpzftsReqSap;
import com.dxhy.order.consumer.openapi.protocol.v4.ResponseV4BO;
import com.dxhy.order.consumer.openapi.protocol.v4.invalid.ZftsxxReqBO;
import com.dxhy.order.consumer.openapi.protocol.v4.invalid.ZfxxRspBO;
@ -43,12 +38,16 @@ import com.dxhy.order.consumer.openapi.protocol.v4.push.*;
import com.dxhy.order.consumer.openapi.protocol.v5.DxhyInterfaceResponse;
import com.dxhy.order.consumer.openapi.protocol.v5.invalid.ZffptsV5;
import com.dxhy.order.consumer.openapi.protocol.v5.invalid.ZffpxxV5;
import com.dxhy.order.consumer.openapi.protocol.v5.order.DdfpxxV5;
import com.dxhy.order.consumer.openapi.protocol.v5.order.DdfpzxxV5;
import com.dxhy.order.consumer.openapi.protocol.v5.order.DdmxxxV5;
import com.dxhy.order.consumer.openapi.protocol.v6.order.QdTxxBO;
import com.dxhy.order.consumer.openapi.service.CommonDisposeService;
import com.dxhy.order.consumer.openapi.service.InterfaceServiceV5;
import com.dxhy.order.consumer.utils.BeanTransitionUtils;
import com.dxhy.order.consumer.utils.InterfaceBeanTransUtils;
import com.dxhy.order.exception.InterfaceException;
import com.dxhy.order.exception.OrderReceiveException;
import com.dxhy.order.invoice.config.InvoiceConfig;
import com.dxhy.order.invoice.module.invoice.dao.*;
import com.dxhy.order.invoice.module.invoice.model.FileDownLoad;
@ -56,11 +55,22 @@ import com.dxhy.order.invoice.module.invoice.model.PushInfo;
import com.dxhy.order.invoice.module.invoice.service.InvalidInvoiceService;
import com.dxhy.order.invoice.module.invoice.service.OrderInvoiceInfoService;
import com.dxhy.order.invoice.utils.HttpInvoiceRequestUtil;
import com.dxhy.order.model.*;
import com.dxhy.order.model.ofd.OfdToPdfRequest;
import com.dxhy.order.model.ofd.OfdToPdfResponse;
import com.dxhy.order.model.qd.OrderInfoQd;
import com.dxhy.order.model.queue.*;
import com.dxhy.order.model.queue.jdwj.JdwjMqData;
import com.dxhy.order.utils.CommonUtils;
import com.dxhy.order.utils.HttpUtils;
import com.dxhy.order.utils.JsonUtils;
import com.dxhy.order.utils.NsrsbhUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.*;
@ -139,6 +149,12 @@ public class PushInvoiceServiceImpl implements PushInvoiceService {
@Resource
private PushInvoiceToJdJosService pushInvoiceToJdJosService;
@Resource
private OrderCommonService apiInvoiceCommonMapperService;
@Resource
private BaseServiceConfig baseServiceConfig;
@Override
public R pushRouting(String pushMsg) {
R r = new R();
@ -319,6 +335,8 @@ public class PushInvoiceServiceImpl implements PushInvoiceService {
//判断数据是否需要放入延时队列再次推送
boolean sendPushDelay = false;
String errorMsg = "";
//TODO lfl 系统来源待赋值
String xtly = "SAP";
try {
//查询多个推送地址
@ -327,6 +345,8 @@ public class PushInvoiceServiceImpl implements PushInvoiceService {
queryPushInfo.setNsrsbh(fpTsMqData.getNsrsbh());
//接口类型为发票状态推送
queryPushInfo.setInterfaceType(fpTsMqData.getPushType());
//byzd1作为系统来源字段使用
queryPushInfo.setByzd1(xtly);
List<PushInfo> pushInfoList = pushInfoMapper.selectListByPushInfo(queryPushInfo);
log.info("查询到的推送地址信息:{}", JsonUtils.getInstance().toJsonString(pushInfoList));
@ -336,6 +356,7 @@ public class PushInvoiceServiceImpl implements PushInvoiceService {
return R.error(error);
}
String fptsParam = "";
//多个地址循环推送
for (PushInfo pushInfo : pushInfoList) {
@ -352,6 +373,12 @@ public class PushInvoiceServiceImpl implements PushInvoiceService {
}
Map<String, String> requestMap = commonDisposeService.getRequestParameter(pushInfo.getNsrsbh(), pushInfo.getZipCode(), pushInfo.getEncryptCode(), content, pushInfo.getPushUrl(), pushInfo.getInterfaceType(), pushInfo.getVersionIdent());
if(OrderInfoEnum.SYS_SOURCE_SAP.getKey().equals(xtly)){
fptsParam = convertToYwxtParam(fpTsMqData,xtly,content,baseServiceConfig.getPoClient());
}else {
fptsParam = JsonUtils.getInstance().toJsonString(requestMap);
}
try {
String param = JsonUtils.getInstance().toJsonString(requestMap);
if (param.length() > 500) {
@ -792,6 +819,107 @@ public class PushInvoiceServiceImpl implements PushInvoiceService {
return content;
}
public String convertToYwxtParam(CommonTsMqData fpTsMqData,String xtly,String content,String poClient){
String ywxtParam = "";
if(OrderInfoEnum.INTERFACE_TYPE_INVOICE_PUSH_STATUS_1.getKey().equals(fpTsMqData.getPushType())){
//发票开具推送
if(OrderInfoEnum.SYS_SOURCE_SAP.getKey().equals(xtly)){
DdfpzxxV5 ddfpzxxV5 = JsonUtils.getInstance().parseObject(content.substring(1,content.length()-1), DdfpzxxV5.class);
DdfpxxV5 ddfpxx = ddfpzxxV5.getDDFPXX();
List<DdmxxxV5> ddmxxx = ddfpzxxV5.getDDMXXX();
List<FpkjtsReqSap> mainList = new ArrayList<>();
FpkjtsReqSap fpkjtsReqSap = new FpkjtsReqSap();
List<FpkjtsMxSap> itemList = new ArrayList<>();
//主信息
fpkjtsReqSap.setZJSDH(ddfpxx.getDDH());
fpkjtsReqSap.setZFPDM(ddfpxx.getFPDM());
fpkjtsReqSap.setZFPHM(ddfpxx.getFPHM());
fpkjtsReqSap.setZFPLX(ddfpxx.getFPLXDM());
fpkjtsReqSap.setZXFBM(ddfpxx.getXHFSBH());
fpkjtsReqSap.setZGFBH(ddfpxx.getGMFSBH());
fpkjtsReqSap.setZBHSJEY(ddfpxx.getHJJE());
fpkjtsReqSap.setZZSEY(ddfpxx.getHJSE());
fpkjtsReqSap.setZHSJEY(ddfpxx.getJSHJ());
fpkjtsReqSap.setZZBZ(ddfpxx.getBZ());
fpkjtsReqSap.setZFPZT(ConfigureConstant.STRING_1);//0-作废、1-正常
fpkjtsReqSap.setZKPRQ(ddfpxx.getKPRQ());
fpkjtsReqSap.setZGFMC(ddfpxx.getGMFMC());
fpkjtsReqSap.setZGFSH(ddfpxx.getGMFSBH());
fpkjtsReqSap.setZXFMC(ddfpxx.getXHFMC());
fpkjtsReqSap.setZXFSH(ddfpxx.getXHFSBH());
fpkjtsReqSap.setZTID(ddfpxx.getFPDM()+ddfpxx.getFPHM()+ddfpxx.getFPLXDM());
fpkjtsReqSap.setZGFZH(ddfpxx.getGMFZH());
fpkjtsReqSap.setZGFDH(ddfpxx.getGMFDH());
fpkjtsReqSap.setZXFDH(ddfpxx.getXHFDH());
fpkjtsReqSap.setZXFZH(ddfpxx.getXHFZH());
fpkjtsReqSap.setZGSDM("");
fpkjtsReqSap.setZYWDJ("");
//明细信息
ddmxxx.stream().forEach(f -> {
FpkjtsMxSap detail = new FpkjtsMxSap();
detail.setZJSDH(ddfpxx.getDDH());
detail.setZFPDM(ddfpxx.getFPDM());
detail.setZFPHM(ddfpxx.getFPHM());
detail.setZFPHH(f.getXH());
detail.setMATNR("");
detail.setZGGXH(f.getGGXH());
detail.setZSLDW(f.getDW());
detail.setZZSL(f.getSPSL());
detail.setZTAX(f.getSL());
detail.setZBHSJEY(f.getJE());
detail.setZZSEY(f.getSE());
detail.setZHSJEY(new BigDecimal(f.getJE()).add(new BigDecimal(f.getSE())).toString());
detail.setINVOICEDATE(ddfpxx.getKPRQ());
detail.setINVOICETYPE(ddfpxx.getFPLXDM());
detail.setZHWMC(f.getXMMC());
detail.setZSM("");
itemList.add(detail);
});
fpkjtsReqSap.setITITEM(itemList);
IsInput isInput = new IsInput();
isInput.setSYSID(OrderInfoEnum.SYS_SIGN_FP.getKey());
isInput.setIFYWID(OrderInfoEnum.INTERFACE_BUSINESS_ID_FPKJTS.getKey());
isInput.setBSKEY(apiInvoiceCommonMapperService.getGenerateShotKey());
isInput.setZORG("");
isInput.setZFILED5(poClient);
mainList.add(fpkjtsReqSap);
String jsonString = JsonUtils.getInstance().toJsonString(mainList);
isInput.setZDATA(jsonString);
PoCommonRequestParam poCommonRequestParam = new PoCommonRequestParam();
poCommonRequestParam.setIS_INPUT(isInput);
ywxtParam = JsonUtils.getInstance().toJsonString(poCommonRequestParam);
}
}else if(OrderInfoEnum.INTERFACE_TYPE_INVOICE_PUSH_STATUS_2.getKey().equals(fpTsMqData.getPushType())){
//发票作废推送
if(OrderInfoEnum.SYS_SOURCE_SAP.getKey().equals(xtly)){
ZffptsV5 zffptsV5 = JsonUtils.getInstance().parseObject(content, ZffptsV5.class);
List<FpzftsReqSap> zfList = new ArrayList<>();
FpzftsReqSap fpzftsReqSap = new FpzftsReqSap();
fpzftsReqSap.setZFPDM(zffptsV5.getFPDM());
fpzftsReqSap.setZFPHM(zffptsV5.getFPHM());
fpzftsReqSap.setZFPZT("");
fpzftsReqSap.setZJSDH("");
IsInput isInput = new IsInput();
isInput.setSYSID(OrderInfoEnum.SYS_SIGN_FP.getKey());
isInput.setIFYWID(OrderInfoEnum.INTERFACE_BUSINESS_ID_FPZFTS.getKey());
isInput.setBSKEY(apiInvoiceCommonMapperService.getGenerateShotKey());
isInput.setZORG("");
isInput.setZFILED5(poClient);
zfList.add(fpzftsReqSap);
String jsonString = JsonUtils.getInstance().toJsonString(zfList);
isInput.setZDATA(jsonString);
PoCommonRequestParam poCommonRequestParam = new PoCommonRequestParam();
poCommonRequestParam.setIS_INPUT(isInput);
ywxtParam = JsonUtils.getInstance().toJsonString(poCommonRequestParam);
}
}
return ywxtParam;
}
/**
* 获取发票推送请求报文
*

@ -0,0 +1,50 @@
package com.dxhy.order.consumer.modules.order.controller;
import com.dxhy.order.consumer.modules.order.model.InvoiceRemarkSet;
import com.dxhy.order.consumer.modules.order.model.vo.InvoiceRemarkSetVo;
import com.dxhy.order.consumer.modules.order.service.InvoiceRemarkSetService;
import com.dxhy.order.model.R;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
* @Description: 发票备注设置
* @Author liufeilong
* @Date 2023-03-02
**/
@Slf4j
@RestController
@RequestMapping(value = "/invoiceRemarkSet")
public class InvoiceRemarkSetController {
private static final String LOGGER_MSG = "(发票备注设置)";
@Resource
private InvoiceRemarkSetService invoiceRemarkSetService;
/**
* 获取公司下的发票备注模板
* @return
*/
@PostMapping("/queryRemarkSet")
public R queryRemarkSet(@RequestBody InvoiceRemarkSet invoiceRemarkSet) {
return R.ok().put("data", invoiceRemarkSetService.queryRemarkSet(invoiceRemarkSet));
}
/**
* 保存发票备注模板
* @return
*/
@PostMapping("/saveRemarkSet")
public R saveRemarkSet(@RequestBody InvoiceRemarkSetVo invoiceRemarkSetVo) {
return invoiceRemarkSetService.saveRemarkSet(invoiceRemarkSetVo);
}
}

@ -0,0 +1,26 @@
package com.dxhy.order.consumer.modules.order.model;
import lombok.Data;
import java.util.Date;
@Data
public class InvoiceRemarkSet {
private String id;
private String xhfNsrsbh;
private String gsbm;
private String xh;
private String mbmc;
private String mbnr;
private String status;
private Date createTime;
private String credateUserId;
}

@ -0,0 +1,18 @@
package com.dxhy.order.consumer.modules.order.model.vo;
import com.dxhy.order.consumer.modules.order.model.InvoiceRemarkSet;
import lombok.Data;
import java.util.List;
/**
* @Description: 页面保存备注设置实体
* @Author liufeilong
* @Date 2023-03-03
**/
@Data
public class InvoiceRemarkSetVo {
private String xhfNsrsbh;
private String gsbm;
private List<InvoiceRemarkSet> list;
}

@ -0,0 +1,20 @@
package com.dxhy.order.consumer.modules.order.service;
import com.dxhy.order.consumer.modules.order.model.InvoiceRemarkSet;
import com.dxhy.order.consumer.modules.order.model.vo.InvoiceRemarkSetVo;
import com.dxhy.order.model.R;
import java.util.List;
import java.util.Map;
/**
* @Description: 发票备注设置
* @Author liufeilong
* @Date 2023-03-02
**/
public interface InvoiceRemarkSetService {
List<InvoiceRemarkSet> queryRemarkSet(InvoiceRemarkSet invoiceRemarkSet);
R saveRemarkSet(InvoiceRemarkSetVo invoiceRemarkSetVo);
}

@ -1,10 +1,10 @@
package com.dxhy.order.consumer.modules.order.service;
import com.dxhy.order.consumer.model.page.PageQrOrderInfo;
import com.dxhy.order.consumer.model.page.PageQrcodeAndInvoiceDetailInfo;
import com.dxhy.order.model.CommonOrderInfo;
import com.dxhy.order.model.OrderQrcodeExtendInfo;
import com.dxhy.order.model.PageUtils;
import com.dxhy.order.consumer.model.page.PageQrOrderInfo;
import com.dxhy.order.consumer.model.page.PageQrcodeAndInvoiceDetailInfo;
import java.util.List;
import java.util.Map;

@ -1,12 +1,12 @@
package com.dxhy.order.consumer.modules.order.service;
import com.dxhy.order.model.PageUtils;
import com.dxhy.order.model.R;
import com.dxhy.order.consumer.model.page.PageDynamicQrcodeDetailInfo;
import com.dxhy.order.consumer.model.page.PageEwmConfigInfo;
import com.dxhy.order.consumer.model.page.PageQrcodeAndInvoiceDetailInfo;
import com.dxhy.order.consumer.model.page.QrcodeOrderInfo;
import com.dxhy.order.consumer.modules.scaninvoice.model.PageQrcodeOrderInfo;
import com.dxhy.order.model.PageUtils;
import com.dxhy.order.model.R;
import java.util.List;
import java.util.Map;

@ -0,0 +1,70 @@
package com.dxhy.order.consumer.modules.order.service.impl;
import com.dxhy.order.baseservice.module.base.service.BaseService;
import com.dxhy.order.baseservice.module.thirdservice.user.model.UserEntity;
import com.dxhy.order.baseservice.module.thirdservice.user.service.UserInfoService;
import com.dxhy.order.consumer.dao.InvoiceRemarkSetMapper;
import com.dxhy.order.consumer.modules.order.model.InvoiceRemarkSet;
import com.dxhy.order.consumer.modules.order.model.vo.InvoiceRemarkSetVo;
import com.dxhy.order.consumer.modules.order.service.InvoiceRemarkSetService;
import com.dxhy.order.model.R;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* @Description: 发票备注设置
* @Author liufeilong
* @Date 2023-03-02
**/
@Slf4j
@Service
public class InvoiceRemarkSetServiceImpl implements InvoiceRemarkSetService {
@Resource
private InvoiceRemarkSetMapper invoiceRemarkSetMapper;
@Resource
private BaseService baseService;
@Resource
private UserInfoService userInfoService;
@Override
public List<InvoiceRemarkSet> queryRemarkSet(InvoiceRemarkSet invoiceRemarkSet) {
return invoiceRemarkSetMapper.selectRemarkSetList(invoiceRemarkSet);
}
@Override
@Transactional
public R saveRemarkSet(InvoiceRemarkSetVo invoiceRemarkSetVo) {
UserEntity user = userInfoService.getUser();
String gsbm = invoiceRemarkSetVo.getGsbm();
String xhfNsrsbh = invoiceRemarkSetVo.getXhfNsrsbh();
List<InvoiceRemarkSet> invoiceRemarkSetList = invoiceRemarkSetVo.getList();
if(invoiceRemarkSetList.size()>0){
String mbmc = invoiceRemarkSetList.get(0).getMbmc();
for(int i=0;i<invoiceRemarkSetList.size();i++){
if(i>0 && mbmc.equals(invoiceRemarkSetList.get(i).getMbmc())){
return R.error("模板名称不能重复!");
}
}
invoiceRemarkSetMapper.deleteByGsbm(gsbm);
for(int i=0;i<invoiceRemarkSetList.size();i++){
InvoiceRemarkSet invoiceRemarkSet = invoiceRemarkSetList.get(i);
invoiceRemarkSet.setId(baseService.getGenerateShotKey());
invoiceRemarkSet.setXhfNsrsbh(xhfNsrsbh);
invoiceRemarkSet.setGsbm(gsbm);
invoiceRemarkSet.setCreateTime(new Date());
invoiceRemarkSet.setCredateUserId(user.getUserId().toString());
invoiceRemarkSetMapper.insert(invoiceRemarkSet);
}
}else {
invoiceRemarkSetMapper.deleteByGsbm(gsbm);
}
return R.ok();
}
}

@ -3,10 +3,6 @@ package com.dxhy.order.consumer.modules.order.service.impl;
import cn.hutool.core.date.DateUtil;
import com.dxhy.order.constant.ConfigureConstant;
import com.dxhy.order.constant.OrderInfoEnum;
import com.dxhy.order.model.CommonOrderInfo;
import com.dxhy.order.model.EwmConfigInfo;
import com.dxhy.order.model.OrderQrcodeExtendInfo;
import com.dxhy.order.model.PageUtils;
import com.dxhy.order.consumer.dao.EwmConfigInfoMapper;
import com.dxhy.order.consumer.dao.OrderProcessInfoMapper;
import com.dxhy.order.consumer.dao.OrderQrcodeExtendInfoMapper;
@ -15,6 +11,10 @@ import com.dxhy.order.consumer.model.page.PageQrOrderInfo;
import com.dxhy.order.consumer.model.page.PageQrcodeAndInvoiceDetailInfo;
import com.dxhy.order.consumer.modules.manager.service.QuickCodeInfoService;
import com.dxhy.order.consumer.modules.order.service.OrderQrcodeExtendService;
import com.dxhy.order.model.CommonOrderInfo;
import com.dxhy.order.model.EwmConfigInfo;
import com.dxhy.order.model.OrderQrcodeExtendInfo;
import com.dxhy.order.model.PageUtils;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;

@ -2,11 +2,11 @@ package com.dxhy.order.consumer.modules.order.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.dxhy.order.constant.ConfigureConstant;
import com.dxhy.order.model.*;
import com.dxhy.order.consumer.dao.*;
import com.dxhy.order.consumer.model.page.PageQuickResponseCodeInfo;
import com.dxhy.order.consumer.modules.manager.service.QuickCodeInfoService;
import com.dxhy.order.invoice.module.invoice.dao.OrderInfoMapper;
import com.dxhy.order.model.*;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;

@ -2,7 +2,14 @@ package com.dxhy.order.consumer.openapi.api;
import com.dxhy.order.constant.ConfigureConstant;
import com.dxhy.order.constant.ConfigurerInfo;
import com.dxhy.order.constant.OrderInfoContentEnum;
import com.dxhy.order.constant.OrderInfoEnum;
import com.dxhy.order.consumer.config.OpenApiConfig;
import com.dxhy.order.consumer.openapi.protocol.po.EsOutput;
import com.dxhy.order.consumer.openapi.protocol.po.PoCommonRequestParam;
import com.dxhy.order.consumer.openapi.protocol.po.PoCommonResponseParam;
import com.dxhy.order.consumer.openapi.service.InterfaceServiceV6;
import com.dxhy.order.utils.JsonUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
@ -50,6 +57,56 @@ public class InvoiceOpenGateRestApi {
@Resource
private OpenApiConfig openApiConfig;
@Resource
private InterfaceServiceV6 interfaceServiceV6;
/**
* 山能对外接口PO统一入口
* @param param
* @return
*/
@RequestMapping(path = "/v6/po", method = {RequestMethod.POST, RequestMethod.GET})
public String orderApiV6(@RequestBody String param, HttpServletRequest request) {
log.info("{}-山能对外接口PO统一入口,请求数据为:{}", LOGGER_MESSAGE_V6, param);
String token = request.getHeader("token");
if(StringUtils.isBlank(token) || !ConfigureConstant.POTOKEN.equals(token)){
return "非法请求,请停止访问!";
}
//返回数据
String resultString = "";
try {
PoCommonRequestParam requestParam = JsonUtils.getInstance().parseObject(param, PoCommonRequestParam.class);
String interfaceName = "";
if(OrderInfoEnum.INTERFACE_BUSINESS_ID_FPKJ.getKey().equals(requestParam.getIS_INPUT().getIFYWID())){
interfaceName = ConfigurerInfo.GENERATE_QD_INVOICE;
}else if(OrderInfoEnum.INTERFACE_BUSINESS_ID_DDZTGX.getKey().equals(requestParam.getIS_INPUT().getIFYWID())){
interfaceName = ConfigurerInfo.ORDER_STATUS_UPDATE;
}else {
log.error("{}-山能对外接口PO业务接口ID:{},未定义", LOGGER_MESSAGE_V6, requestParam.getIS_INPUT().getIFYWID());
return "请传输正确的业务ID";
}
//保存请求报文
interfaceServiceV6.saveRequestData(interfaceName,param);
//调用销项v6业务处理逻辑
long startTime = System.currentTimeMillis();
resultString = invoiceRestApiV6.orderApiV6HandingBusiness(interfaceName, param, "");
long endTime = System.currentTimeMillis();
log.info("{}-业务处理结果:{},接口耗时为:{}", LOGGER_MESSAGE_V6, resultString, endTime - startTime);
} catch (Exception e) {
log.error("{}-处理业务出现异常,异常原因为:{}", LOGGER_MESSAGE_V6, e.getMessage());
PoCommonResponseParam poCommonResponseParam = new PoCommonResponseParam();
EsOutput esOutput = new EsOutput();
esOutput.setBSKEY("");
esOutput.setSAPKEY("");
esOutput.setZTYPE(OrderInfoContentEnum.INVOICE_ERROR_CODE_OP_E.getKey());
esOutput.setZMESSAGE(e.getMessage());
poCommonResponseParam.setES_OUTPUT(esOutput);
return JsonUtils.getInstance().toJsonString(poCommonResponseParam);
}
return resultString;
}
/**
* 订单对内V6接口

@ -18,6 +18,8 @@ import com.dxhy.order.consumer.constant.InterfaceNameEnum;
import com.dxhy.order.consumer.constant.RespStatusEnum;
import com.dxhy.order.consumer.openapi.protocol.CheckResult;
import com.dxhy.order.consumer.openapi.protocol.CommonRequestParam;
import com.dxhy.order.consumer.openapi.protocol.po.PoCommonRequestParam;
import com.dxhy.order.consumer.openapi.protocol.po.PoCommonResponseParam;
import com.dxhy.order.consumer.openapi.protocol.v4.fpyl.FpylcxReqBO;
import com.dxhy.order.consumer.openapi.protocol.v4.fpyl.FpylcxRspBO;
import com.dxhy.order.consumer.openapi.protocol.v4.order.DdpcxxReqBO;
@ -31,6 +33,8 @@ import com.dxhy.order.consumer.openapi.protocol.v5.order.DdfpcxReqV5;
import com.dxhy.order.consumer.openapi.protocol.v5.order.DdfpcxRspV5;
import com.dxhy.order.consumer.openapi.protocol.v5.order.DdpcxxRspV5;
import com.dxhy.order.consumer.openapi.protocol.v6.hzqrd.QdCommonRspV6;
import com.dxhy.order.consumer.openapi.protocol.v6.sdenergy.MdmGmfxxtbMulticodeValuelistBO;
import com.dxhy.order.consumer.openapi.protocol.v6.sdenergy.MdmGmfxxtbReqBO;
import com.dxhy.order.consumer.openapi.service.*;
import com.dxhy.order.exception.OrderReceiveException;
import com.dxhy.order.utils.JsonUtils;
@ -38,6 +42,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.joda.time.DateTime;
import org.joda.time.Duration;
@ -47,6 +52,7 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
import static org.joda.time.DateTime.now;
@ -258,10 +264,110 @@ public class InvoiceRestApiV6 {
|| InterfaceNameEnum.INTERFACE_NAME_KFPT_RPA_GET_QRCODE.getKey().equals(interfaceName)
|| InterfaceNameEnum.INTERFACE_NAME_KFPT_RPA_GET_AUTH_STATUS.getKey().equals(interfaceName)
|| ConfigurerInfo.RED_CONFIRMATION_CONFIRM.equals(interfaceName)){
//红字确认单接口-查询列表,查询明细列表,申请,确认,rpa登录状态,rpa获取二维码,rpa获取二次认证
//红字确认单接口-查询列表,查询明细列表,申请,确认
QdCommonRspV6 qdCommonRspV6 = interfaceServiceV6.processProxyForQd(interfaceName, reqStr);
returnJsonString = JsonUtils.getInstance().toJsonStringNullToEmpty(qdCommonRspV6);
} else if (ConfigurerInfo.ORDER_STATUS_UPDATE.equals(interfaceName)) {
//订单驳回状态更新接口-(销售结算报账单的驳回状态传给发票系统(ERP-FI-INT-046))
PoCommonRequestParam requestParam = JsonUtils.getInstance().parseObject(reqStr, PoCommonRequestParam.class);
PoCommonResponseParam poCommonResponseParam = interfaceServiceV6.updateOrderStatus(requestParam, secretId);
returnJsonString = JsonUtils.getInstance().toJsonString(poCommonResponseParam);
} else if (ConfigurerInfo.SDENERGY_MDM_KS_SYNCBUYERINFO.equals(interfaceName)) {
// 山东能源 MDM 客商 购买方信息同步接口
List<MdmGmfxxtbReqBO> mdmGmfxxtbReqBOS = JSONObject.parseArray(reqStr, MdmGmfxxtbReqBO.class);
List<GmfxxtbReqBO> gmfxxtbReqList = new ArrayList<>();
for (MdmGmfxxtbReqBO tempMdmGmfxxtbReqBO : mdmGmfxxtbReqBOS) {
GmfxxtbReqBO gmfxxtbReqBO = new GmfxxtbReqBO();
gmfxxtbReqBO.setGMFBM(tempMdmGmfxxtbReqBO.getCODE()); // 取code
gmfxxtbReqBO.setXHFSBH(tempMdmGmfxxtbReqBO.getDESC14());
gmfxxtbReqBO.setXHFMC(tempMdmGmfxxtbReqBO.getDESC1());
// 判断下DESC14是否为身份证,如果为身份证,则填写03,否则填写01,其余情况置空
// 身份证正则表达式
String idCardRegex = "(^\\d{15}$)|(^\\d{18}$)|(^\\d{17}(\\d|X|x)$)";
// 税号正则表达式
String taxNoRegex = "^[a-zA-Z0-9]{15,20}$";
gmfxxtbReqBO.setGMFLX("");
if (StringUtils.isNotEmpty(tempMdmGmfxxtbReqBO.getDESC14())) {
if (tempMdmGmfxxtbReqBO.getDESC14().matches(idCardRegex)) {
gmfxxtbReqBO.setGMFLX("03"); // 有可能出现个人
}
if (tempMdmGmfxxtbReqBO.getDESC14().matches(taxNoRegex)) {
gmfxxtbReqBO.setGMFLX("01");
}
}
gmfxxtbReqBO.setGMFMC(tempMdmGmfxxtbReqBO.getDESC48());
gmfxxtbReqBO.setGMFSBH(tempMdmGmfxxtbReqBO.getDESC49());
gmfxxtbReqBO.setGMFDH(tempMdmGmfxxtbReqBO.getDESC26()); // ?
// 根据要求,取VALUELIST中的第一组数据作为银行数据
if (tempMdmGmfxxtbReqBO.getMULTICODE() != null && !CollectionUtils.isEmpty(tempMdmGmfxxtbReqBO.getMULTICODE().getVALUELIST())) {
// 处理开户行银行
MdmGmfxxtbMulticodeValuelistBO firstValueList = tempMdmGmfxxtbReqBO.getMULTICODE().getVALUELIST().get(0);
if (firstValueList != null) {
gmfxxtbReqBO.setGMFYH(firstValueList.getDESC3());
gmfxxtbReqBO.setGMFZH(firstValueList.getDESC4());
}
}
gmfxxtbReqBO.setGMFSJH(tempMdmGmfxxtbReqBO.getDESC27());
gmfxxtbReqBO.setGMFYX(tempMdmGmfxxtbReqBO.getDESC29());
gmfxxtbReqBO.setCZLX("3"); // 可能重复推送,重复推送可能出现更新的情况,增加先查询,存在则更新不存在则插入的逻辑
// 拼接邮箱和地址
String buyerAddress = "";
buyerAddress = buyerAddress.concat(StringUtils.isEmpty(tempMdmGmfxxtbReqBO.getDESC22()) ? "" : tempMdmGmfxxtbReqBO.getDESC22());
buyerAddress = buyerAddress.concat(StringUtils.isEmpty(tempMdmGmfxxtbReqBO.getDESC23()) ? "" : tempMdmGmfxxtbReqBO.getDESC23());
buyerAddress = buyerAddress.concat(StringUtils.isEmpty(tempMdmGmfxxtbReqBO.getDESC24()) ? "" : tempMdmGmfxxtbReqBO.getDESC24());
gmfxxtbReqBO.setGMFDZ(buyerAddress);
gmfxxtbReqBO.setINVOICE_NAME(tempMdmGmfxxtbReqBO.getDESC48());
gmfxxtbReqBO.setINVOICE_TAXNO(tempMdmGmfxxtbReqBO.getDESC49());
gmfxxtbReqBO.setMDM_MULTICODE_JSON(JsonUtils.getInstance().toJsonStringNullToEmpty(tempMdmGmfxxtbReqBO.getMULTICODE()));
gmfxxtbReqList.add(gmfxxtbReqBO);
}
List<GmfxxtbRspBO> gmfxxtbRspList = interfaceServiceV3.syncBuyerMessage(gmfxxtbReqList, secretId);
returnJsonString = JsonUtils.getInstance().toJsonStringNullToEmpty(gmfxxtbRspList);
} else if (ConfigurerInfo.SDENERGY_MDM_KS_SYNC_GROUP_TAX_CODE.equals(interfaceName)) {
// 同步物料信息
// SDEnergyMdmBaseBO baseBO = JSONObject.parseObject(reqStr, SDEnergyMdmBaseBO.class);
// List<MdmSyncGroupTaxCodeReqBO> list = new ArrayList<>();
// GroupTaxRespBO respBO = GroupTaxRespBO.build(OrderInfoContentEnum.SYNC_GROUP_TAX_009996);
// try {
// // 逐级判断是否为空,直到取到DATAINFO
// list = (List<MdmSyncGroupTaxCodeReqBO>) Optional.of(baseBO)
// .map(SDEnergyMdmBaseBO::getESB)
// .map(ESBBO::getDATA)
// .map(DATABO::getDATAINFOS)
// .map(DATAINFOSBO::getDATAINFO)
// .map(i -> {
// // 转成List<MdmSyncGroupTaxCodeReqBO>
// return i.stream().map(j -> {
// return JSONObject.parseObject(JSONObject.toJSONString(j), MdmSyncGroupTaxCodeReqBO.class);
// }).collect(Collectors.toList());
// })
// .orElse(new ArrayList<MdmSyncGroupTaxCodeReqBO>());
//
// // 进行同步
// List<GroupTaxReqBO> reqBOList = list.stream().map(i -> {
// GroupTaxReqBO temp = new GroupTaxReqBO();
// temp.setSpmc(i.getDESC1());
// temp.setMs(i.getDESCSHORT());
// temp.setUnit(i.getDESC5());
// temp.setEncoding(i.getCODE());
// return temp;
// }).collect(Collectors.toList());
//
// respBO = interfaceServiceV3.syncGroupTax(reqBOList, secretId);
//
// } catch (Exception e) {
// log.error("{}解析列表失败,原始string:{},错误原因{},错误堆栈:{}", LOGGER_MSG, reqStr, e.getMessage(), e.getStackTrace());
// }
//
// returnJsonString = JsonUtils.getInstance().toJsonStringNullToEmpty(respBO);
return returnJsonString = "";
} else {
returnJsonString = "";
}

@ -118,6 +118,41 @@ public class InvoiceRestSDEnregy {
return (String) syncMdmGroupTax.get("data");
}
/**
* MDM同步人员
*
* @param requestBody
* @return
*/
@PostMapping("/sync_user")
public String syncUser(@RequestBody String requestBody) {
String logUUID = UUID.randomUUID().toString();
log.info("{}[syncMdmGroupTax],uuid:{},收到请求报文:{}", LOGGER_MSG, logUUID, requestBody);
// 接收请求报文,然后进行入库
SDEnergyMdmBaseBO baseBO = JSONObject.parseObject(requestBody, SDEnergyMdmBaseBO.class);
List<MdmSyncUserReqBO> mdmSyncUserReqBO = (List<MdmSyncUserReqBO>) Optional.of(baseBO)
.map(SDEnergyMdmBaseBO::getESB)
.map(ESBBO::getDATA)
.map(DATABO::getDATAINFOS)
.map(DATAINFOSBO::getDATAINFO)
.map(i -> {
// 转成List<MdmSyncUserReqBO>
return i.stream().map(j -> {
return JSONObject.parseObject(JSONObject.toJSONString(j), MdmSyncUserReqBO.class);
}).collect(Collectors.toList());
})
.orElse(new ArrayList<MdmSyncGroupTaxCodeReqBO>());
AjaxResult syncMdmGroupTax = isdEnregyService.syncMdmUser(mdmSyncUserReqBO, requestBody);
if (syncMdmGroupTax.isError()) {
log.info("{}[syncMdmGroupTax],uuid:{},请求处理失败,原因:{}", LOGGER_MSG, logUUID, syncMdmGroupTax.getMsg());
return syncMdmGroupTax.getMsg();
}
return (String) syncMdmGroupTax.get("data");
}
/**
* 主动拉取 MDM 集团物料
*

@ -0,0 +1,122 @@
package com.dxhy.order.consumer.openapi.protocol.v6.sdenergy;
import lombok.ToString;
/**
* @Description MDM同步人员
* @Author 巩权林
* @Date 2023/2/9 16:59
**/
@ToString
public class MdmSyncUserReqBO {
// 主编码的值
private String CODE;
// 姓名的值
private String DESC1;
// 手机号码的值
private String DESC10;
// 电子邮箱的值
private String DESC11;
// 组织代码的值
private String DESC14;
// 公司代码的值
private String DESC37;
// 公司名称的值
private String DESC38;
// 人员状态的值
private String DESC59;
// UUID的值
private String UUID;
private Boolean success;
public void setCODE(String CODE) {
this.CODE = CODE;
}
public String getCODE() {
return CODE;
}
public void setDESC1(String DESC1) {
this.DESC1 = DESC1;
}
public String getDESC1() {
return DESC1;
}
public void setDESC10(String DESC10) {
this.DESC10 = DESC10;
}
public String getDESC10() {
return DESC10;
}
public void setDESC11(String DESC11) {
this.DESC11 = DESC11;
}
public String getDESC11() {
return DESC11;
}
public void setDESC14(String DESC14) {
this.DESC14 = DESC14;
}
public String getDESC14() {
return DESC14;
}
public void setDESC37(String DESC37) {
this.DESC37 = DESC37;
}
public String getDESC37() {
return DESC37;
}
public void setDESC38(String DESC38) {
this.DESC38 = DESC38;
}
public String getDESC38() {
return DESC38;
}
public void setDESC59(String DESC59) {
this.DESC59 = DESC59;
}
public String getDESC59() {
return DESC59;
}
public void setUUID(String UUID) {
this.UUID = UUID;
}
public String getUUID() {
return UUID;
}
public Boolean getSuccess() {
return success;
}
public void setSuccess(Boolean success) {
this.success = success;
}
}

@ -1,13 +1,7 @@
package com.dxhy.order.consumer.openapi.service;
import com.dxhy.order.consumer.openapi.protocol.AjaxResult;
import com.dxhy.order.consumer.openapi.protocol.v4.grouptax.GroupTaxRespBO;
import com.dxhy.order.consumer.openapi.protocol.v6.sdenergy.MdmGmfxxtbReqBO;
import com.dxhy.order.consumer.openapi.protocol.v6.sdenergy.MdmSyncGroupTaxCodeReqBO;
import com.dxhy.order.consumer.openapi.protocol.v6.sdenergy.SDEnergyMdmBaseBO;
import com.dxhy.order.consumer.openapi.protocol.v6.sdenergy.SDEnergyMdmBaseRespBO;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
import com.dxhy.order.consumer.openapi.protocol.v6.sdenergy.*;
import java.util.List;
import java.util.function.Function;
@ -29,5 +23,14 @@ public interface ISDEnregyService {
public AjaxResult syncMdmGroupTax(List<MdmSyncGroupTaxCodeReqBO> mdmGmfxxtbReqBOS, String requestBody);
/**
* 同步人员库
*
* @param mdmSyncUserReqBOS
* @param requestBody
* @return
*/
public AjaxResult syncMdmUser(List<MdmSyncUserReqBO> mdmSyncUserReqBOS, String requestBody);
public SDEnergyMdmBaseBO buildResult(SDEnergyMdmBaseBO baseBO, List respList, Function<Object, SDEnergyMdmBaseRespBO> handleFunction);
}

@ -1,5 +1,7 @@
package com.dxhy.order.consumer.openapi.service;
import com.dxhy.order.consumer.openapi.protocol.po.PoCommonRequestParam;
import com.dxhy.order.consumer.openapi.protocol.po.PoCommonResponseParam;
import com.dxhy.order.consumer.openapi.protocol.v4.order.DdpcxxReqBO;
import com.dxhy.order.consumer.openapi.protocol.v5.order.DdpcxxRspV5;
import com.dxhy.order.consumer.openapi.protocol.v6.hzqrd.QdCommonRspV6;
@ -29,4 +31,21 @@ public interface InterfaceServiceV6 {
*/
QdCommonRspV6 processProxyForQd(String interfaceName , String reqParam);
/**
* @Description: 订单驳回状态更新接口-(销售结算报账单的驳回状态传给发票系统(ERP-FI-INT-046))
* @Param: [requestParam, secretId]
* @Return: com.dxhy.order.consumer.openapi.protocol.po.PoCommonResponseParam
* @Author: liufeilong
* @Date: 2023-02-08
*/
PoCommonResponseParam updateOrderStatus(PoCommonRequestParam requestParam, String secretId);
/**
* @Description: 保存PO请求数据
* @Param: [interfaceName, IS_INPUT]
* @Return: void
* @Author: liufeilong
* @Date: 2023-02-22
*/
void saveRequestData(String interfaceName, String param);
}

@ -3,30 +3,38 @@ package com.dxhy.order.consumer.openapi.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSON;
import com.dxhy.order.constant.*;
import com.dxhy.order.model.newsk.InvoiceRequestParam;
import com.dxhy.order.utils.DecimalCalculateUtil;
import com.dxhy.order.baseservice.module.base.service.BaseService;
import com.dxhy.order.baseservice.module.thirdservice.simsback.service.SimsBackService;
import com.dxhy.order.constant.*;
import com.dxhy.order.consumer.constant.InterfaceNameEnum;
import com.dxhy.order.consumer.dao.InterfaceRequestDataMapper;
import com.dxhy.order.consumer.openapi.protocol.po.EsOutput;
import com.dxhy.order.consumer.openapi.protocol.po.PoCommonRequestParam;
import com.dxhy.order.consumer.openapi.protocol.po.PoCommonResponseParam;
import com.dxhy.order.consumer.openapi.protocol.v4.order.DdpcxxReqBO;
import com.dxhy.order.consumer.openapi.protocol.v4.order.DdpcxxRspBO;
import com.dxhy.order.consumer.openapi.protocol.v5.order.DdpcxxRspV5;
import com.dxhy.order.consumer.openapi.protocol.v6.hzqrd.QdCommonRspV6;
import com.dxhy.order.consumer.openapi.protocol.v6.hzqrd.Hzqrdxx;
import com.dxhy.order.consumer.openapi.protocol.v6.hzqrd.Hzqrdxxmx;
import com.dxhy.order.consumer.openapi.protocol.v6.hzqrd.QdCommonRspV6;
import com.dxhy.order.consumer.openapi.protocol.v6.hzqrd.QueryHzqrdlbReq;
import com.dxhy.order.consumer.openapi.service.AllocateInvoiceInterfaceServiceV3;
import com.dxhy.order.consumer.openapi.service.CommonDisposeService;
import com.dxhy.order.consumer.openapi.service.InterfaceServiceV6;
import com.dxhy.order.invoice.config.InvoiceConfig;
import com.dxhy.order.invoice.utils.HttpInvoiceRequestUtilQd;
import com.dxhy.order.model.InterfaceRequestData;
import com.dxhy.order.model.newsk.InvoiceRequestParam;
import com.dxhy.order.utils.DecimalCalculateUtil;
import com.dxhy.order.utils.DistributedKeyMaker;
import com.dxhy.order.utils.JsonUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
import java.util.Objects;
@ -55,6 +63,8 @@ public class InterfaceServiceImplV6 implements InterfaceServiceV6 {
@Resource
private InvoiceConfig invoiceConfig;
@Resource
private InterfaceRequestDataMapper interfaceRequestDataMapper;
@Override
public DdpcxxRspV5 generateQdInvoiceV6(DdpcxxReqBO ddpcxxReq, String secretId, String kpjh) {
@ -64,7 +74,7 @@ public class InterfaceServiceImplV6 implements InterfaceServiceV6 {
}
@Override
public QdCommonRspV6 processProxyForQd(String interfaceName, String reqParam) {
public QdCommonRspV6 processProxyForQd(String interfaceName, String reqParam){
if(ConfigurerInfo.QUERY_RED_CONFIRMATION_LIST.equals(interfaceName)){
String reqUrl = invoiceConfig.configRedConfirmationQueryList();
@ -100,7 +110,7 @@ public class InterfaceServiceImplV6 implements InterfaceServiceV6 {
String logName = "航信RPA二次认证状态接口";
String nsrsbh = ObjectUtil.toString(JSON.parseObject(reqParam).get("NSRSBH"));
return processProxyForQd(reqUrl, reqParam, logName, nsrsbh);
} else {
}else{
QdCommonRspV6 qdCommonRspV6 = new QdCommonRspV6();
qdCommonRspV6.setZTDM(InterfaceEnum.INTERFACE_V5_INTERFACENAME_009999.getKey());
qdCommonRspV6.setZTXX(InterfaceEnum.INTERFACE_V5_INTERFACENAME_009999.getMessage());
@ -108,6 +118,30 @@ public class InterfaceServiceImplV6 implements InterfaceServiceV6 {
}
}
@Override
public PoCommonResponseParam updateOrderStatus(PoCommonRequestParam requestParam, String secretId) {
PoCommonResponseParam poCommonResponseParam = new PoCommonResponseParam();
EsOutput esOutput = new EsOutput();
esOutput.setBSKEY("");
esOutput.setSAPKEY("");
esOutput.setZTYPE(OrderInfoContentEnum.INVOICE_ERROR_CODE_OP_S.getKey());
esOutput.setZMESSAGE("");
poCommonResponseParam.setES_OUTPUT(esOutput);
return poCommonResponseParam;
}
@Override
public void saveRequestData(String interfaceName, String param) {
PoCommonRequestParam poCommonRequestParam = JsonUtils.getInstance().parseObject(param, PoCommonRequestParam.class);
InterfaceRequestData data = new InterfaceRequestData();
data.setId(DistributedKeyMaker.generateShotKey());
data.setYwlx(interfaceName);
data.setBatchId(poCommonRequestParam.getIS_INPUT().getBSKEY());
data.setRequestData(param);
data.setCreateTime(new Date());
interfaceRequestDataMapper.insert(data);
}
private QdCommonRspV6 queryRedConfirmationList(String reqUrl, String reqParam, String logName){
QdCommonRspV6 qdCommonRspV6 = new QdCommonRspV6();
qdCommonRspV6.setZTDM(InterfaceEnum.INTERFACE_V5_STATUS_009999.getKey());

@ -3,14 +3,14 @@ package com.dxhy.order.consumer.openapi.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.dxhy.order.baseservice.module.buyer.dao.BuyerMapper;
import com.dxhy.order.baseservice.module.buyer.model.BuyerEntity;
import com.dxhy.order.baseservice.module.buyer.protocol.GmfxxtbRspBO;
import com.dxhy.order.baseservice.module.commodity.dao.CommodityMapper;
import com.dxhy.order.baseservice.module.commodity.model.CommodityCodeEntity;
import com.dxhy.order.baseservice.module.taxclass.dao.GroupTaxClassCodeMapper;
import com.dxhy.order.baseservice.module.taxclass.model.GroupTaxClassCodeEntity;
import com.dxhy.order.constant.OrderInfoContentEnum;
import com.dxhy.order.baseservice.module.thirdservice.user.dto.AddUserRequestDto;
import com.dxhy.order.baseservice.module.thirdservice.user.service.UserInfoService;
import com.dxhy.order.consumer.openapi.protocol.AjaxResult;
import com.dxhy.order.consumer.openapi.protocol.v6.sdenergy.*;
import com.dxhy.order.model.R;
import com.dxhy.order.utils.DistributedKeyMaker;
import com.dxhy.order.utils.JsonUtils;
import org.apache.commons.lang3.StringUtils;
@ -40,6 +40,9 @@ public class SDEnregyServiceImpl extends SDEnregyServiceAbstract {
@Autowired
private CommodityMapper commodityMapper;
@Autowired
private UserInfoService userInfoService;
@Override
public AjaxResult syncBuyerMessage(List<MdmGmfxxtbReqBO> mdmGmfxxtbReqBOS, String requestBody) {
// 存表
@ -181,4 +184,55 @@ public class SDEnregyServiceImpl extends SDEnregyServiceAbstract {
return AjaxResult.success("success", resp);
}
/**
* 同步人员库
*
* @param mdmSyncUserReqBOS
* @param requestBody
* @return
*/
@Override
public AjaxResult syncMdmUser(List<MdmSyncUserReqBO> mdmSyncUserReqBOS, String requestBody) {
// 同步数据到大B
for (int i = 0; i < mdmSyncUserReqBOS.size(); i++) {
MdmSyncUserReqBO mdmSyncUserReqBO = mdmSyncUserReqBOS.get(i);
// 填充字段
AddUserRequestDto addUserRequestDto = AddUserRequestDto.builder()
.userId(null) // 用户id
.puserId(null) // 登陆人id
.username(mdmSyncUserReqBO.getCODE()) // 用户名
.name(mdmSyncUserReqBO.getDESC1()) // 姓名
.password(null) // 密码
.mobile(mdmSyncUserReqBO.getDESC10()) // 手机号
.deptId(null) // 部门ID
.boradAuth(null) // 看板权限
.roleIdList(null) // 角色id
.deptList(null) // 数据权限id
.build();
// 添加用户到大B
R addResult = userInfoService.addUser(addUserRequestDto);
Boolean isSuccess = addResult != null && addResult.isOk();
mdmSyncUserReqBO.setSuccess(isSuccess);
}
SDEnergyMdmBaseBO baseBO = JSONObject.parseObject(requestBody, SDEnergyMdmBaseBO.class);
SDEnergyMdmBaseBO result = buildResult(
baseBO,
mdmSyncUserReqBOS,
i -> {
MdmSyncUserReqBO t = (MdmSyncUserReqBO) i;
SDEnergyMdmBaseRespBO resp = new SDEnergyMdmBaseRespBO();
resp.setCODE(t.getCODE());
resp.setUUID(t.getUUID());
resp.setSYNSTATUS(t.getSuccess() ? "1" : "0");
resp.setSYNRESULT(t.getSuccess() ? "success" : "failed");
return resp;
}
);
String resp = JsonUtils.getInstance().toJsonStringNullToEmpty(result);
return AjaxResult.success("success", resp);
}
}

@ -18,11 +18,18 @@ import com.dxhy.order.consumer.openapi.protocol.Response;
import com.dxhy.order.consumer.openapi.protocol.cpy.*;
import com.dxhy.order.consumer.openapi.protocol.invoice.DeprecateInvoicesRspBO;
import com.dxhy.order.consumer.openapi.protocol.order.*;
import com.dxhy.order.consumer.openapi.protocol.po.EsOutput;
import com.dxhy.order.consumer.openapi.protocol.po.IsInput;
import com.dxhy.order.consumer.openapi.protocol.po.PoCommonRequestParam;
import com.dxhy.order.consumer.openapi.protocol.po.PoCommonResponseParam;
import com.dxhy.order.consumer.openapi.protocol.po.generateinvoice.sap.FpkjMxSap;
import com.dxhy.order.consumer.openapi.protocol.po.generateinvoice.sap.FpkjReqSap;
import com.dxhy.order.consumer.openapi.protocol.sld.*;
import com.dxhy.order.consumer.openapi.protocol.v4.invalid.ZffpxxBO;
import com.dxhy.order.consumer.openapi.protocol.v4.invalid.ZfxxRspBO;
import com.dxhy.order.consumer.openapi.protocol.v4.invoice.*;
import com.dxhy.order.consumer.openapi.protocol.v4.order.*;
import com.dxhy.order.consumer.openapi.protocol.v5.order.DdpcxxRspV5;
import com.dxhy.order.consumer.openapi.protocol.v6.order.QdFjysBO;
import com.dxhy.order.consumer.openapi.protocol.v6.order.QdTxxBO;
import com.dxhy.order.exception.OrderReceiveException;
@ -43,11 +50,13 @@ import com.dxhy.order.model.sk.query.ResponseCommonInvoice;
import com.dxhy.order.model.sk.sld.SearchSld;
import com.dxhy.order.utils.CommonUtils;
import com.dxhy.order.utils.DecimalCalculateUtil;
import com.dxhy.order.utils.JsonUtils;
import com.dxhy.order.utils.StringUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.util.*;
@ -3432,4 +3441,108 @@ public class BeanTransitionUtils {
return taxEquipmentInfo;
}
/**
* @Description: 将PO接口开票请求参数转换成标准开票请求参数
* @Param: [requestParam]
* @Return: com.dxhy.order.consumer.openapi.protocol.v4.order.DdpcxxReqBO
* @Author: liufeilong
* @Date: 2023-02-06
*/
public static DdpcxxReqBO transitionPoKpReq(PoCommonRequestParam poCommonRequestParam, DeptEntity deptEntity){
IsInput isinput = poCommonRequestParam.getIS_INPUT();
DdpcxxReqBO ddpcxxReqBO = new DdpcxxReqBO();
DdpcxxBO ddpcxxBO = new DdpcxxBO();
List<DdzxxBO> ddzxxList = new ArrayList<>();
DdzxxBO ddzxxBO = new DdzxxBO();
DdtxxBO ddtxxBO = new DdtxxBO();
List<DdmxxxBO> ddmxList = new ArrayList<>();
if(OrderInfoEnum.SYS_SOURCE_SAP.getKey().equals(isinput.getSYSID())){
String zdataString = isinput.getZDATA();
FpkjReqSap req = JsonUtils.getInstance().parseObject(zdataString, FpkjReqSap.class);
//批次信息
ddpcxxBO.setDDQQPCH(isinput.getSAPKEY());
ddpcxxBO.setNSRSBH(deptEntity.getTaxpayerCode());
ddpcxxBO.setFPLXDM(CommonUtils.transSnFplxdm(req.getZFPLX()));
ddpcxxBO.setKPFS(ConfigureConstant.STRING_1);
//订单头信息
ddtxxBO.setDDQQLSH(isinput.getSAPKEY());
ddtxxBO.setKPLX(req.getZSFHZ());
ddtxxBO.setXHFSBH(deptEntity.getTaxpayerCode());
ddtxxBO.setXHFMC(deptEntity.getName());
ddtxxBO.setXHFDZ(deptEntity.getTaxpayerAddress());
ddtxxBO.setXHFDH(deptEntity.getTaxpayerPhone());
ddtxxBO.setXHFYH(deptEntity.getTaxpayerBank());
ddtxxBO.setXHFZH(deptEntity.getTaxpayerAccount());
ddtxxBO.setGMFBM(req.getZGFBH());
ddtxxBO.setKPR(req.getZKPRXM());
ddtxxBO.setSKR(req.getZSKRXM());
ddtxxBO.setFHR(req.getZFHRXM());
ddtxxBO.setJSHJ(req.getZHSJE());
ddtxxBO.setHJJE(req.getZBHSJE());
ddtxxBO.setHJSE(req.getZZSE());
ddtxxBO.setDDH(req.getZJSDH());
//TODO lfl 清单标志怎么处理?
ddtxxBO.setQDBZ("0");
//明细信息
List<FpkjMxSap> ititem = req.getITITEM();
for(int i=0;i < ititem.size();i++){
FpkjMxSap detail = ititem.get(i);
DdmxxxBO ddmxxxBO = new DdmxxxBO();
ddmxxxBO.setXH(i+1+"");
//detail.getZSFZKH() 1:普通行;2:折扣行 折扣行上一行是被折扣行
if(ConfigureConstant.STRING_1.equals(detail.getZSFZKH())){
ddmxxxBO.setFPHXZ(ConfigureConstant.STRING_0);
}else if(ConfigureConstant.STRING_2.equals(detail.getZSFZKH())){
ddmxxxBO.setFPHXZ(ConfigureConstant.STRING_1);
ddmxList.get(i-1).setFPHXZ(ConfigureConstant.STRING_2);
}else {
ddmxxxBO.setFPHXZ(ConfigureConstant.STRING_0);
}
ddmxxxBO.setZXBM(detail.getMATNR());
ddmxxxBO.setXMMC(detail.getZCPMC());
ddmxxxBO.setGGXH(detail.getCHARG());
ddmxxxBO.setDW(detail.getZSLDW());
ddmxxxBO.setSPSL(detail.getZZSL());
ddmxxxBO.setSL(new BigDecimal(detail.getZTAX()).divide(new BigDecimal("100"),2,BigDecimal.ROUND_HALF_UP).toString());
ddmxxxBO.setDJ(detail.getZZDJ());
ddmxxxBO.setJE(detail.getZHSJE());
ddmxxxBO.setHSBZ(ConfigureConstant.STRING_1);
ddmxxxBO.setSE(detail.getZZSE());
//TODO lfl 优惠政策标识 取税编对应的优惠政策标识!
ddmxxxBO.setYHZCBS("0");
ddmxList.add(ddmxxxBO);
}
}
ddzxxBO.setDDTXX(ddtxxBO);
ddzxxBO.setDDMXXX(ddmxList);
ddzxxList.add(ddzxxBO);
ddpcxxReqBO.setDDPCXX(ddpcxxBO);
ddpcxxReqBO.setDDZXX(ddzxxList);
return ddpcxxReqBO;
}
/**
* @Description: 将标准开票响应参数转换成PO接口开票响应参数
* @Param: [ddpcxxRspV5]
* @Return: com.dxhy.order.consumer.openapi.protocol.po.PoCommonResponseParam
* @Author: liufeilong
* @Date: 2023-02-06
*/
public static PoCommonResponseParam transitionPoKpResp(DdpcxxRspV5 ddpcxxRspV5){
PoCommonResponseParam poCommonResponseParam = new PoCommonResponseParam();
EsOutput esOutput = new EsOutput();
esOutput.setBSKEY(ddpcxxRspV5.getDDQQPCH());
esOutput.setSAPKEY(ddpcxxRspV5.getDDQQPCH());
if(OrderInfoContentEnum.INVOICE_ERROR_CODE_010000_V3.getKey().equals(ddpcxxRspV5.getZTDM())){
esOutput.setZTYPE(OrderInfoContentEnum.INVOICE_ERROR_CODE_OP_S.getKey());
}else{
esOutput.setZTYPE(OrderInfoContentEnum.INVOICE_ERROR_CODE_OP_E.getKey());
}
esOutput.setZMESSAGE(ddpcxxRspV5.getZTXX());
poCommonResponseParam.setES_OUTPUT(esOutput);
return poCommonResponseParam;
}
}

@ -4,15 +4,15 @@ spring:
nacos:
config:
# Nacos config 地址
server-addr: nacos-1.itax.local:33000
server-addr: nacos-1.itax.local:8848
# Nacos config 命名空间,对应配置中的名称(sims_order_namespace)
namespace: a049b41c-b0a8-4a66-91b1-f3f3cab0e524
namespace: be3b66c4-16e0-4698-9389-bded862f370d
# Nacos config 分组
group: sims-order-config
# Nacos config 登录用户名
username: nacos
username: sims-order
# Nacos config 登录密码
password: Invoice.nacos.!1
password: sims-order
# Nacos config 配置文件前缀
prefix: sims-order-api
# Nacos config 配置文件后缀,拼接完URL需要对应NacosServer中的dataId对应配置,${prefix}-${spring.profiles.active}.${file-extension}
@ -53,7 +53,7 @@ spring:
# Nacos discovery 配置
discovery:
# Nacos discovery 服务地址
server-addr: nacos-1.itax.local:33000
server-addr: nacos-1.itax.local:8848
#sentinel配置相关
sentinel:
#sentinel是否开启控制
@ -65,7 +65,7 @@ spring:
#控制台端口
port: 8719
#控制台页面地址
dashboard: sims.sentinel.01:47000
dashboard: sims.sentinel.01:8858
datasource:
r1:
nacos:

@ -4,7 +4,7 @@ spring:
nacos:
config:
# Nacos config 地址
server-addr: nacos-1.itax.local:8868
server-addr: nacos-1.itax.local:8848
# Nacos config 命名空间,对应配置中的名称(sims_order_namespace)
namespace: be3b66c4-16e0-4698-9389-bded862f370d
# Nacos config 分组
@ -53,7 +53,7 @@ spring:
# Nacos discovery 配置
discovery:
# Nacos discovery 服务地址
server-addr: nacos-1.itax.local:8868
server-addr: nacos-1.itax.local:8848
#sentinel配置相关
sentinel:
#sentinel是否开启控制

@ -0,0 +1,177 @@
<?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.dxhy.order.consumer.dao.InvoiceRemarkSetMapper" >
<resultMap id="BaseResultMap" type="com.dxhy.order.consumer.modules.order.model.InvoiceRemarkSet" >
<id column="id" property="id" jdbcType="VARCHAR" />
<result column="xhf_nsrsbh" property="xhfNsrsbh" jdbcType="VARCHAR" />
<result column="gsbm" property="gsbm" jdbcType="VARCHAR" />
<result column="xh" property="xh" jdbcType="VARCHAR" />
<result column="mbmc" property="mbmc" jdbcType="VARCHAR" />
<result column="mbnr" property="mbnr" jdbcType="VARCHAR" />
<result column="status" property="status" jdbcType="VARCHAR" />
<result column="create_time" property="createTime" jdbcType="TIMESTAMP" />
<result column="credate_user_id" property="credateUserId" jdbcType="VARCHAR" />
</resultMap>
<sql id="Base_Column_List" >
id, xhf_nsrsbh, gsbm, xh, mbmc, mbnr, status, create_time, credate_user_id
</sql>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.String" >
select
<include refid="Base_Column_List" />
from invoice_remark_set
where id = #{id,jdbcType=VARCHAR}
</select>
<select id="selectRemarkSetList" resultMap="BaseResultMap" parameterType="com.dxhy.order.consumer.modules.order.model.InvoiceRemarkSet" >
select
<include refid="Base_Column_List" />
from invoice_remark_set
<where>
<if test="id != null and id != ''" >
and id = #{id,jdbcType=VARCHAR}
</if>
<if test="xhfNsrsbh != null" >
and xhf_nsrsbh = #{xhfNsrsbh,jdbcType=VARCHAR}
</if>
<if test="gsbm != null" >
and gsbm = #{gsbm,jdbcType=VARCHAR}
</if>
<if test="xh != null" >
and xh = #{xh,jdbcType=VARCHAR}
</if>
<if test="mbmc != null" >
and mbmc = #{mbmc,jdbcType=VARCHAR}
</if>
<if test="mbnr != null" >
and mbnr = #{mbnr,jdbcType=VARCHAR}
</if>
<if test="status != null" >
and status = #{status,jdbcType=VARCHAR}
</if>
<if test="createTime != null" >
and create_time#{createTime,jdbcType=TIMESTAMP}
</if>
<if test="credateUserId != null" >
and credate_user_id = #{credateUserId,jdbcType=VARCHAR}
</if>
</where>
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.String" >
delete from invoice_remark_set
where id = #{id,jdbcType=VARCHAR}
</delete>
<delete id="deleteByGsbm" parameterType="java.lang.String" >
delete from invoice_remark_set
where gsbm = #{gsbm,jdbcType=VARCHAR}
</delete>
<insert id="insert" parameterType="com.dxhy.order.consumer.modules.order.model.InvoiceRemarkSet" >
insert into invoice_remark_set (id, xhf_nsrsbh, gsbm,
xh, mbmc, mbnr, status,
create_time, credate_user_id)
values (#{id,jdbcType=VARCHAR}, #{xhfNsrsbh,jdbcType=VARCHAR}, #{gsbm,jdbcType=VARCHAR},
#{xh,jdbcType=VARCHAR}, #{mbmc,jdbcType=VARCHAR}, #{mbnr,jdbcType=VARCHAR}, #{status,jdbcType=VARCHAR},
#{createTime,jdbcType=TIMESTAMP}, #{credateUserId,jdbcType=VARCHAR})
</insert>
<insert id="insertSelective" parameterType="com.dxhy.order.consumer.modules.order.model.InvoiceRemarkSet" >
insert into invoice_remark_set
<trim prefix="(" suffix=")" suffixOverrides="," >
<if test="id != null" >
id,
</if>
<if test="xhfNsrsbh != null" >
xhf_nsrsbh,
</if>
<if test="gsbm != null" >
gsbm,
</if>
<if test="xh != null" >
xh,
</if>
<if test="mbmc != null" >
mbmc,
</if>
<if test="mbnr != null" >
mbnr,
</if>
<if test="status != null" >
status,
</if>
<if test="createTime != null" >
create_time,
</if>
<if test="credateUserId != null" >
credate_user_id,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="id != null" >
#{id,jdbcType=VARCHAR},
</if>
<if test="xhfNsrsbh != null" >
#{xhfNsrsbh,jdbcType=VARCHAR},
</if>
<if test="gsbm != null" >
#{gsbm,jdbcType=VARCHAR},
</if>
<if test="xh != null" >
#{xh,jdbcType=VARCHAR},
</if>
<if test="mbmc != null" >
#{mbmc,jdbcType=VARCHAR},
</if>
<if test="mbnr != null" >
#{mbnr,jdbcType=VARCHAR},
</if>
<if test="status != null" >
#{status,jdbcType=VARCHAR},
</if>
<if test="createTime != null" >
#{createTime,jdbcType=TIMESTAMP},
</if>
<if test="credateUserId != null" >
#{credateUserId,jdbcType=VARCHAR},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.dxhy.order.consumer.modules.order.model.InvoiceRemarkSet" >
update invoice_remark_set
<set >
<if test="xhfNsrsbh != null" >
xhf_nsrsbh = #{xhfNsrsbh,jdbcType=VARCHAR},
</if>
<if test="gsbm != null" >
gsbm = #{gsbm,jdbcType=VARCHAR},
</if>
<if test="xh != null" >
xh = #{xh,jdbcType=VARCHAR},
</if>
<if test="mbmc != null" >
mbmc = #{mbmc,jdbcType=VARCHAR},
</if>
<if test="mbnr != null" >
mbnr = #{mbnr,jdbcType=VARCHAR},
</if>
<if test="status != null" >
status = #{status,jdbcType=VARCHAR},
</if>
<if test="createTime != null" >
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
<if test="credateUserId != null" >
credate_user_id = #{credateUserId,jdbcType=VARCHAR},
</if>
</set>
where id = #{id,jdbcType=VARCHAR}
</update>
<update id="updateByPrimaryKey" parameterType="com.dxhy.order.consumer.modules.order.model.InvoiceRemarkSet" >
update invoice_remark_set
set xhf_nsrsbh = #{xhfNsrsbh,jdbcType=VARCHAR},
gsbm = #{gsbm,jdbcType=VARCHAR},
xh = #{xh,jdbcType=VARCHAR},
mbmc = #{mbmc,jdbcType=VARCHAR},
mbnr = #{mbnr,jdbcType=VARCHAR},
status = #{status,jdbcType=VARCHAR},
create_time = #{createTime,jdbcType=TIMESTAMP},
credate_user_id = #{credateUserId,jdbcType=VARCHAR}
where id = #{id,jdbcType=VARCHAR}
</update>
</mapper>

@ -559,6 +559,13 @@
<![CDATA[jdbc:mysql://10.1.2.148:3306/sales_manager?useUnicode=true&amp;characterEncoding=utf8&amp;useSSL=false&amp;serverTimezone=Asia/Shanghai&amp;allowMultiQueries=true]]></logback.mysql.url>
<logback.mysql.user>dxhy</logback.mysql.user>
<logback.mysql.pwd>Dxhy@123</logback.mysql.pwd>
<repository.url>http://10.1.20.6:8081/nexus/content/groups/public</repository.url>
<pluginRepositories.url>http://10.1.20.6:8081/nexus/content/groups/public</pluginRepositories.url>
<distribution.repository.release.url>http://10.1.20.6:8081/nexus/content/repositories/releases
</distribution.repository.release.url>
<distribution.repository.snapshot.url>http://10.1.20.6:8081/nexus/content/repositories/snapshots
</distribution.repository.snapshot.url>
</properties>
<!-- 默认激活 -->
<activation>
@ -576,6 +583,13 @@
<![CDATA[jdbc:mysql://10.1.1.224:3306/sales_manager?useUnicode=true&amp;characterEncoding=utf8&amp;useSSL=false&amp;serverTimezone=Asia/Shanghai&amp;allowMultiQueries=true]]></logback.mysql.url>
<logback.mysql.user>dxhy</logback.mysql.user>
<logback.mysql.pwd>Dxhy@123</logback.mysql.pwd>
<repository.url>http://10.1.20.6:8081/nexus/content/groups/public</repository.url>
<pluginRepositories.url>http://10.1.20.6:8081/nexus/content/groups/public</pluginRepositories.url>
<distribution.repository.release.url>http://10.1.20.6:8081/nexus/content/repositories/releases
</distribution.repository.release.url>
<distribution.repository.snapshot.url>http://10.1.20.6:8081/nexus/content/repositories/snapshots
</distribution.repository.snapshot.url>
</properties>
</profile>
<!-- 测试环境 -->
@ -589,6 +603,13 @@
<![CDATA[jdbc:mysql://10.1.1.224:3306/sales_manager?useUnicode=true&amp;characterEncoding=utf8&amp;useSSL=false&amp;serverTimezone=Asia/Shanghai&amp;allowMultiQueries=true]]></logback.mysql.url>
<logback.mysql.user>dxhy</logback.mysql.user>
<logback.mysql.pwd>Dxhy@123</logback.mysql.pwd>
<repository.url>http://10.1.20.6:8081/nexus/content/groups/public</repository.url>
<pluginRepositories.url>http://10.1.20.6:8081/nexus/content/groups/public</pluginRepositories.url>
<distribution.repository.release.url>http://10.1.20.6:8081/nexus/content/repositories/releases
</distribution.repository.release.url>
<distribution.repository.snapshot.url>http://10.1.20.6:8081/nexus/content/repositories/snapshots
</distribution.repository.snapshot.url>
</properties>
</profile>
<!-- 预发布环境 -->
@ -602,6 +623,13 @@
<![CDATA[jdbc:mysql://10.1.2.226:3306/sales_manager?useUnicode=true&amp;characterEncoding=utf8&amp;useSSL=false&amp;serverTimezone=Asia/Shanghai&amp;allowMultiQueries=true]]></logback.mysql.url>
<logback.mysql.user>dxhy</logback.mysql.user>
<logback.mysql.pwd>Dxhy@123</logback.mysql.pwd>
<repository.url>http://10.1.20.6:8081/nexus/content/groups/public</repository.url>
<pluginRepositories.url>http://10.1.20.6:8081/nexus/content/groups/public</pluginRepositories.url>
<distribution.repository.release.url>http://10.1.20.6:8081/nexus/content/repositories/releases
</distribution.repository.release.url>
<distribution.repository.snapshot.url>http://10.1.20.6:8081/nexus/content/repositories/snapshots
</distribution.repository.snapshot.url>
</properties>
</profile>
<!-- 预发布环境 新预发布 -->
@ -615,6 +643,13 @@
<![CDATA[jdbc:mysql://10.1.2.226:3306/sales_manager?useUnicode=true&amp;characterEncoding=utf8&amp;useSSL=false&amp;serverTimezone=Asia/Shanghai&amp;allowMultiQueries=true]]></logback.mysql.url>
<logback.mysql.user>dxhy</logback.mysql.user>
<logback.mysql.pwd>Dxhy@123</logback.mysql.pwd>
<repository.url>http://10.1.20.6:8081/nexus/content/groups/public</repository.url>
<pluginRepositories.url>http://10.1.20.6:8081/nexus/content/groups/public</pluginRepositories.url>
<distribution.repository.release.url>http://10.1.20.6:8081/nexus/content/repositories/releases
</distribution.repository.release.url>
<distribution.repository.snapshot.url>http://10.1.20.6:8081/nexus/content/repositories/snapshots
</distribution.repository.snapshot.url>
</properties>
</profile>
<!-- 标品环境 -->
@ -628,6 +663,13 @@
<![CDATA[jdbc:mysql://10.1.2.226:3306/sales_manager?useUnicode=true&amp;characterEncoding=utf8&amp;useSSL=false&amp;serverTimezone=Asia/Shanghai&amp;allowMultiQueries=true]]></logback.mysql.url>
<logback.mysql.user>dxhy</logback.mysql.user>
<logback.mysql.pwd>Dxhy@123</logback.mysql.pwd>
<repository.url>http://10.1.20.6:8081/nexus/content/groups/public</repository.url>
<pluginRepositories.url>http://10.1.20.6:8081/nexus/content/groups/public</pluginRepositories.url>
<distribution.repository.release.url>http://10.1.20.6:8081/nexus/content/repositories/releases
</distribution.repository.release.url>
<distribution.repository.snapshot.url>http://10.1.20.6:8081/nexus/content/repositories/snapshots
</distribution.repository.snapshot.url>
</properties>
</profile>
<!-- 正式环境 -->
@ -641,6 +683,31 @@
<![CDATA[jdbc:mysql://jddb-cn-north-1-1d568964ffe245d6.jcloud.com:3306/sales_manager?useUnicode=true&amp;characterEncoding=utf8&amp;useSSL=false&amp;serverTimezone=Asia/Shanghai&amp;allowMultiQueries=true]]></logback.mysql.url>
<logback.mysql.user>sales_manager</logback.mysql.user>
<logback.mysql.pwd>HApbG7#Ka7#vzADq</logback.mysql.pwd>
<repository.url>http://10.1.20.6:8081/nexus/content/groups/public</repository.url>
<pluginRepositories.url>http://10.1.20.6:8081/nexus/content/groups/public</pluginRepositories.url>
<distribution.repository.release.url>http://10.1.20.6:8081/nexus/content/repositories/releases
</distribution.repository.release.url>
<distribution.repository.snapshot.url>http://10.1.20.6:8081/nexus/content/repositories/snapshots
</distribution.repository.snapshot.url>
</properties>
</profile>
<profile>
<id>sdny</id>
<properties>
<logging.file>/data/logs/</logging.file>
<logging.level>debug</logging.level>
<logback.mysql.url>
<![CDATA[jdbc:mysql://10.1.2.148:3306/sales_manager?useUnicode=true&amp;characterEncoding=utf8&amp;useSSL=false&amp;serverTimezone=Asia/Shanghai&amp;allowMultiQueries=true]]></logback.mysql.url>
<logback.mysql.user>dxhy</logback.mysql.user>
<logback.mysql.pwd>Dxhy@123</logback.mysql.pwd>
<repository.url>http://172.31.32.53:8081/repository/maven-public/</repository.url>
<pluginRepositories.url>http://172.31.32.53:8081/repository/maven-public/</pluginRepositories.url>
<distribution.repository.release.url>http://172.31.32.53:8081/nexus/content/repositories/releases
</distribution.repository.release.url>
<distribution.repository.snapshot.url>http://172.31.32.53:8081/nexus/content/repositories/snapshots
</distribution.repository.snapshot.url>
</properties>
</profile>
</profiles>

Loading…
Cancel
Save