diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/a8bill/dao/IPayBillDao.java b/buildpackage/src/main/java/com/hzya/frame/plugin/a8bill/dao/IPayBillDao.java deleted file mode 100644 index 4c8956ed..00000000 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/a8bill/dao/IPayBillDao.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.hzya.frame.plugin.a8bill.dao; - -import com.hzya.frame.basedao.dao.IBaseDao; -import com.hzya.frame.plugin.a8bill.entity.PayBillEntity; - -/** - * 组织档案(mdm_org: table)表数据库访问层 - * - * @author makejava - * @since 2024-06-07 18:30:04 - */ -public interface IPayBillDao extends IBaseDao { - -} - diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/a8bill/dao/impl/PayBillDaoImpl.java b/buildpackage/src/main/java/com/hzya/frame/plugin/a8bill/dao/impl/PayBillDaoImpl.java deleted file mode 100644 index f4bc0c6e..00000000 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/a8bill/dao/impl/PayBillDaoImpl.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hzya.frame.plugin.a8bill.dao.impl; - -import com.hzya.frame.basedao.dao.MybatisGenericDao; -import com.hzya.frame.plugin.a8bill.dao.IPayBillDao; -import com.hzya.frame.plugin.a8bill.entity.PayBillEntity; - -/** - * 组织档案(MdmOrg)表数据库访问层 - * - * @author makejava - * @since 2024-06-07 18:30:04 - */ -public class PayBillDaoImpl extends MybatisGenericDao implements IPayBillDao { - -} - diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/a8bill/entity/PayBillEntity.java b/buildpackage/src/main/java/com/hzya/frame/plugin/a8bill/entity/PayBillEntity.java deleted file mode 100644 index ecca14fb..00000000 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/a8bill/entity/PayBillEntity.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.hzya.frame.plugin.a8bill.entity; - -import com.hzya.frame.web.entity.BaseEntity; - -/** - * 付款单 - * - * @author makejava - * @since 2024-06-07 18:30:04 - */ -public class PayBillEntity extends BaseEntity { - -} - diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/a8bill/entity/PayBillEntity.xml b/buildpackage/src/main/java/com/hzya/frame/plugin/a8bill/entity/PayBillEntity.xml deleted file mode 100644 index a251e1cd..00000000 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/a8bill/entity/PayBillEntity.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - id - - - - - diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/a8bill/plugin/PayBillPluginInitializer.java b/buildpackage/src/main/java/com/hzya/frame/plugin/a8bill/plugin/PayBillPluginInitializer.java deleted file mode 100644 index e57f8e6c..00000000 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/a8bill/plugin/PayBillPluginInitializer.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.hzya.frame.plugin.a8bill.plugin; - -import com.alibaba.fastjson.JSONObject; -import com.hzya.frame.base.PluginBaseEntity; - -import com.hzya.frame.seeyon.paybill.service.IPayBillService; -import com.hzya.frame.web.entity.JsonResultEntity; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; - -/** - * 付款单(PayBill)表服务接口 - * - * @author makejava - * @since 2024-06-07 18:30:05 - */ -public class PayBillPluginInitializer extends PluginBaseEntity{ - Logger logger = LoggerFactory.getLogger(PayBillPluginInitializer.class); - @Autowired - private IPayBillService payBillService; - - @Override - public void initialize() { - logger.info(getPluginLabel() + "執行初始化方法initialize()"); - } - - @Override - public void destroy() { - logger.info(getPluginLabel() + "執行銷毀方法destroy()"); - } - - @Override - public String getPluginId() { - return "PayBillPlugin"; - } - - @Override - public String getPluginName() { - return "PayBillPlugin插件"; - } - - @Override - public String getPluginLabel() { - return "PayBillPlugin"; - } - - @Override - public String getPluginType() { - return "1"; - } - @Override - public JsonResultEntity executeBusiness(JSONObject requestJson) { - try { - logger.info("======开始执行付款单据信息同步========"); - return payBillService.sendEngineerPayBillToBip(requestJson); - }catch (Exception e){ - logger.info("======执行付款单据同步失败:{}========",e.getMessage()); - e.printStackTrace(); - } - return null; - } -} diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/a8bill/plugin/RecBillPluginInitializer.java b/buildpackage/src/main/java/com/hzya/frame/plugin/a8bill/plugin/RecBillPluginInitializer.java deleted file mode 100644 index f4689b83..00000000 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/a8bill/plugin/RecBillPluginInitializer.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.hzya.frame.plugin.a8bill.plugin; - -import com.alibaba.fastjson.JSONObject; -import com.hzya.frame.base.PluginBaseEntity; -import com.hzya.frame.seeyon.paybill.service.IPayBillService; -import com.hzya.frame.seeyon.recbill.service.IRecBillService; -import com.hzya.frame.web.entity.JsonResultEntity; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; - -/** - * 收款单(RecBill)表服务接口 - * - * @author makejava - * @since 2024-06-07 18:30:05 - */ -public class RecBillPluginInitializer extends PluginBaseEntity{ - Logger logger = LoggerFactory.getLogger(RecBillPluginInitializer.class); - @Autowired - private IRecBillService recBillService; - - @Override - public void initialize() { - logger.info(getPluginLabel() + "執行初始化方法initialize()"); - } - - @Override - public void destroy() { - logger.info(getPluginLabel() + "執行銷毀方法destroy()"); - } - - @Override - public String getPluginId() { - return "RecBillPluginInitializer"; - } - - @Override - public String getPluginName() { - return "RecBillPluginInitializer插件"; - } - - @Override - public String getPluginLabel() { - return "RecBillPluginInitializer"; - } - - @Override - public String getPluginType() { - return "1"; - } - @Override - public JsonResultEntity executeBusiness(JSONObject requestJson) { - try { - logger.info("======开始执行收款单据信息同步========"); - return recBillService.sendRecBillToBip(requestJson); - }catch (Exception e){ - logger.info("======执行收款单据同步失败:{}========",e.getMessage()); - e.printStackTrace(); - } - return null; - } -} diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/a8bill/service/IPayBillService.java b/buildpackage/src/main/java/com/hzya/frame/plugin/a8bill/service/IPayBillService.java deleted file mode 100644 index 8a8f041c..00000000 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/a8bill/service/IPayBillService.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.hzya.frame.plugin.a8bill.service; - -import com.hzya.frame.basedao.service.IBaseService; -import com.hzya.frame.plugin.a8bill.entity.PayBillEntity; - -/** - * 付款单 - * - * @author makejava - * @since 2024-06-07 18:30:05 - */ -public interface IPayBillService extends IBaseService{ -} diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/a8bill/service/impl/PayBillServiceImpl.java b/buildpackage/src/main/java/com/hzya/frame/plugin/a8bill/service/impl/PayBillServiceImpl.java deleted file mode 100644 index e6375473..00000000 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/a8bill/service/impl/PayBillServiceImpl.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.hzya.frame.plugin.a8bill.service.impl; - -import com.hzya.frame.basedao.service.impl.BaseService; -import com.hzya.frame.plugin.a8bill.entity.PayBillEntity; -import com.hzya.frame.plugin.a8bill.service.IPayBillService; - -/** - * private IMdmOrgDao mdmOrgDao; - * - * @Autowired - * public void setMdmOrgDao(IMdmOrgDao dao) { - * this.mdmOrgDao = dao; - * this.dao = dao; - * } - * - * @author makejava - * @since 2024-06-07 18:30:05 - */ -public class PayBillServiceImpl extends BaseService implements IPayBillService { - - -} diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/cbs8/plugin/AgentPayResultPluginInitializer.java b/buildpackage/src/main/java/com/hzya/frame/plugin/cbs8/plugin/AgentPayResultPluginInitializer.java deleted file mode 100644 index 118e47b4..00000000 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/cbs8/plugin/AgentPayResultPluginInitializer.java +++ /dev/null @@ -1,114 +0,0 @@ -package com.hzya.frame.plugin.cbs8.plugin; - -import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.toolkit.StringUtils; -import com.hzya.frame.base.PluginBaseEntity; -import com.hzya.frame.cbs8.dto.req.AgentPayResultRequestDTO; -import com.hzya.frame.cbs8.dto.res.AgentPayQueryDTO; -import com.hzya.frame.cbs8.dto.res.AgentPayResultResDTO; -import com.hzya.frame.plugin.cbs8.service.ICbsPluginService; -import com.hzya.frame.web.entity.JsonResultEntity; -import org.checkerframework.checker.units.qual.A; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; - -import java.util.List; - -/** - * @Description - * @Author xiangerlin - * @Date 2024/6/18 17:22 - **/ -public class AgentPayResultPluginInitializer extends PluginBaseEntity { - Logger logger = LoggerFactory.getLogger(AgentPayResultPluginInitializer.class); - - @Autowired - private ICbsPluginService cbsPluginService; - - /*** - * 插件初始化方法 - * @Author 👻👻👻👻👻👻👻👻 gjh - * @Date 2023-08-02 10:48 - * @Param [] - * @return void - **/ - @Override - public void initialize() { - - } - - /**** - * 插件销毁方法 - * @author 👻👻👻👻👻👻👻👻 gjh - * @date 2023-08-02 10:48 - * @return void - **/ - @Override - public void destroy() { - logger.info(getPluginLabel() + "執行銷毀方法destroy()"); - } - - /**** - * 插件的ID - * @author 👻👻👻👻👻👻👻👻 gjh - * @date 2023-08-02 10:48 - * @return void - **/ - @Override - public String getPluginId() { - return "CBS8AgentPayResultPlugin"; - } - - /**** - * 插件的名称 - * @author 👻👻👻👻👻👻👻👻 gjh - * @date 2023-08-02 10:48 - * @return void - **/ - @Override - public String getPluginName() { - return "cbs8代发代扣详情查询插件"; - } - - /**** - * 插件的显示值 - * @author 👻👻👻👻👻👻👻👻 gjh - * @date 2023-08-02 10:48 - * @return void - **/ - @Override - public String getPluginLabel() { - return "cbs8代发代扣详情查询插件"; - } - - /*** - * 插件类型 1、场景插件 - * @Author 👻👻👻👻👻👻👻👻 gjh - * @Date 2023-08-02 14:01 - * @Param [] - * @return java.lang.String - **/ - @Override - public String getPluginType() { - return "1"; - } - - /*** - * 执行业务代码 - * @Author 👻👻👻👻👻👻👻👻 gjh - * @Date 2023-08-07 11:20 - * @param requestJson 执行业务代码的参数 - * @return void - **/ - @Override - public JsonResultEntity executeBusiness(JSONObject requestJson) throws Exception { - //1、查询代发代扣交易未完成代 - //2、调用cbs接口 - AgentPayResultRequestDTO agentPayResultRequestDTO = new AgentPayResultRequestDTO(); - agentPayResultRequestDTO.setBusNum("PA00034224062600011"); - AgentPayResultResDTO agentPayResultResDTO = cbsPluginService.agentPayResult(agentPayResultRequestDTO); - //记录日志 - return null; - } -} diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/cbs8/plugin/ElecBillPluginInitializer.java b/buildpackage/src/main/java/com/hzya/frame/plugin/cbs8/plugin/ElecBillPluginInitializer.java deleted file mode 100644 index 685cef93..00000000 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/cbs8/plugin/ElecBillPluginInitializer.java +++ /dev/null @@ -1,101 +0,0 @@ -package com.hzya.frame.plugin.cbs8.plugin; - -import com.alibaba.fastjson.JSONObject; -import com.hzya.frame.base.PluginBaseEntity; -import com.hzya.frame.plugin.cbs8.service.ICbsPluginService; -import com.hzya.frame.web.entity.JsonResultEntity; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; - -/** - * @Description 电子回单定时任务 - * @Author xiangerlin - * @Date 2024/6/17 14:03 - **/ -public class ElecBillPluginInitializer extends PluginBaseEntity { - - Logger logger = LoggerFactory.getLogger(getClass()); - @Autowired - private ICbsPluginService cbsPluginService; - /*** - * 插件初始化方法 - * @Author 👻👻👻👻👻👻👻👻 gjh - * @Date 2023-08-02 10:48 - * @Param [] - * @return void - **/ - @Override - public void initialize() { - logger.info(getPluginLabel() + "執行初始化方法initialize()"); - } - - /**** - * 插件销毁方法 - * @author 👻👻👻👻👻👻👻👻 gjh - * @date 2023-08-02 10:48 - * @return void - **/ - @Override - public void destroy() { - logger.info(getPluginLabel() + "執行銷毀方法destroy()"); - } - - /**** - * 插件的ID - * @author 👻👻👻👻👻👻👻👻 gjh - * @date 2023-08-02 10:48 - * @return void - **/ - @Override - public String getPluginId() { - return "CBS8ElecBillPlugin"; - } - - /**** - * 插件的名称 - * @author 👻👻👻👻👻👻👻👻 gjh - * @date 2023-08-02 10:48 - * @return void - **/ - @Override - public String getPluginName() { - return "cbs8电子回单插件"; - } - - /**** - * 插件的显示值 - * @author 👻👻👻👻👻👻👻👻 gjh - * @date 2023-08-02 10:48 - * @return void - **/ - @Override - public String getPluginLabel() { - return "cbs8电子回单插件"; - } - - /*** - * 插件类型 1、场景插件 - * @Author 👻👻👻👻👻👻👻👻 gjh - * @Date 2023-08-02 14:01 - * @Param [] - * @return java.lang.String - **/ - @Override - public String getPluginType() { - return "1"; - } - - /*** - * 执行业务代码 - * @Author 👻👻👻👻👻👻👻👻 gjh - * @Date 2023-08-07 11:20 - * @param requestJson 执行业务代码的参数 - * @return void - **/ - @Override - public JsonResultEntity executeBusiness(JSONObject requestJson) throws Exception { - cbsPluginService.elecBillUpload(requestJson); - return null; - } -} diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/cbs8/plugin/PayApplyAgentPluginInitializer.java b/buildpackage/src/main/java/com/hzya/frame/plugin/cbs8/plugin/PayApplyAgentPluginInitializer.java deleted file mode 100644 index 9c90a865..00000000 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/cbs8/plugin/PayApplyAgentPluginInitializer.java +++ /dev/null @@ -1,116 +0,0 @@ -package com.hzya.frame.plugin.cbs8.plugin; - -import com.alibaba.fastjson.JSONObject; -import com.hzya.frame.base.PluginBaseEntity; -import com.hzya.frame.cbs8.dto.res.PayResponseDTO; -import com.hzya.frame.plugin.cbs8.service.ICbsPluginService; -import com.hzya.frame.seeyon.cbs8.entity.AgentPaymentDetailEntity; -import com.hzya.frame.seeyon.cbs8.entity.AgentPaymentEntity; -import com.hzya.frame.seeyon.cbs8.service.IAgentPaymentService; -import com.hzya.frame.web.entity.JsonResultEntity; -import org.apache.commons.collections.CollectionUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; - -import java.util.List; - -/** - * @Description - * @Author xiangerlin - * @Date 2024/6/18 14:03 - **/ -public class PayApplyAgentPluginInitializer extends PluginBaseEntity { - Logger logger = LoggerFactory.getLogger(PayApplyAgentPluginInitializer.class); - @Autowired - private ICbsPluginService cbsPluginService; - - - @Autowired - private IAgentPaymentService agentPaymentService; - - - /*** - * 插件初始化方法 - * @Author 👻👻👻👻👻👻👻👻 gjh - * @Date 2023-08-02 10:48 - * @Param [] - * @return void - **/ - @Override - public void initialize() { - logger.info(getPluginLabel() + "執行初始化方法initialize()"); - } - - /**** - * 插件销毁方法 - * @author 👻👻👻👻👻👻👻👻 gjh - * @date 2023-08-02 10:48 - * @return void - **/ - @Override - public void destroy() { - logger.info(getPluginLabel() + "執行銷毀方法destroy()"); - } - - /**** - * 插件的ID - * @author 👻👻👻👻👻👻👻👻 gjh - * @date 2023-08-02 10:48 - * @return void - **/ - @Override - public String getPluginId() { - return "CBS8PayApplyAgentPlugin"; - } - - /**** - * 插件的名称 - * @author 👻👻👻👻👻👻👻👻 gjh - * @date 2023-08-02 10:48 - * @return void - **/ - @Override - public String getPluginName() { - return "cbs8代发代扣插件"; - } - - /**** - * 插件的显示值 - * @author 👻👻👻👻👻👻👻👻 gjh - * @date 2023-08-02 10:48 - * @return void - **/ - @Override - public String getPluginLabel() { - return "cbs8代发代扣插件"; - } - - /*** - * 插件类型 1、场景插件 - * @Author 👻👻👻👻👻👻👻👻 gjh - * @Date 2023-08-02 14:01 - * @Param [] - * @return java.lang.String - **/ - @Override - public String getPluginType() { - return "1"; - } - - /*** - * 执行业务代码 - * @Author 👻👻👻👻👻👻👻👻 gjh - * @Date 2023-08-07 11:20 - * @param requestJson 执行业务代码的参数 - * @return void - **/ - @Override - public JsonResultEntity executeBusiness(JSONObject requestJson) throws Exception { - //1、查询代支付的 - AgentPaymentEntity agentPaymentEntity = new AgentPaymentEntity(); - agentPaymentEntity.setOaId("4442823497745714629"); - cbsPluginService.applyAgentPay(agentPaymentEntity); - return null; - } -} diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/cbs8/plugin/PayApplyPluginInitializer.java b/buildpackage/src/main/java/com/hzya/frame/plugin/cbs8/plugin/PayApplyPluginInitializer.java deleted file mode 100644 index 36baa131..00000000 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/cbs8/plugin/PayApplyPluginInitializer.java +++ /dev/null @@ -1,112 +0,0 @@ -package com.hzya.frame.plugin.cbs8.plugin; - -import com.alibaba.fastjson.JSONObject; -import com.hzya.frame.base.PluginBaseEntity; -import com.hzya.frame.plugin.cbs8.service.ICbsPluginService; -import com.hzya.frame.seeyon.cbs8.entity.PaymentEntity; -import com.hzya.frame.web.entity.JsonResultEntity; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; - -/** - * @Description 经办支付申请 - * @Author xiangerlin - * @Date 2024/6/7 13:42 - **/ -public class PayApplyPluginInitializer extends PluginBaseEntity { - Logger logger = LoggerFactory.getLogger(PayApplyPluginInitializer.class); - - @Autowired - private ICbsPluginService cbsPluginService; - - /*** - * 插件初始化方法 - * @Author 👻👻👻👻👻👻👻👻 gjh - * @Date 2023-08-02 10:48 - * @Param [] - * @return void - **/ - @Override - public void initialize() { - logger.info(getPluginLabel() + "執行初始化方法initialize()"); - } - - /**** - * 插件销毁方法 - * @author 👻👻👻👻👻👻👻👻 gjh - * @date 2023-08-02 10:48 - * @return void - **/ - @Override - public void destroy() { - logger.info(getPluginLabel() + "執行銷毀方法destroy()"); - } - - /**** - * 插件的ID - * @author 👻👻👻👻👻👻👻👻 gjh - * @date 2023-08-02 10:48 - * @return void - **/ - @Override - public String getPluginId() { - return "CBS8PayApplyPlugin"; - } - - /**** - * 插件的名称 - * @author 👻👻👻👻👻👻👻👻 gjh - * @date 2023-08-02 10:48 - * @return void - **/ - @Override - public String getPluginName() { - return "cbs8支付申请插件"; - } - - /**** - * 插件的显示值 - * @author 👻👻👻👻👻👻👻👻 gjh - * @date 2023-08-02 10:48 - * @return void - **/ - @Override - public String getPluginLabel() { - return "cbs8支付申请插件"; - } - - /*** - * 插件类型 1、场景插件 - * @Author 👻👻👻👻👻👻👻👻 gjh - * @Date 2023-08-02 14:01 - * @Param [] - * @return java.lang.String - **/ - @Override - public String getPluginType() { - return "1"; - } - - /*** - * 执行业务代码 - * @Author 👻👻👻👻👻👻👻👻 gjh - * @Date 2023-08-07 11:20 - * @param requestJson 执行业务代码的参数 - * @return void - **/ - @Override - public JsonResultEntity executeBusiness(JSONObject requestJson) throws Exception { - PaymentEntity paymentEntity = null; - if (null != requestJson){ - requestJson.remove("jsonStr"); - paymentEntity = JSONObject.parseObject(requestJson.toString(),PaymentEntity.class); - } - if (null == paymentEntity) - paymentEntity = new PaymentEntity(); - //支付申请 - paymentEntity.setOaId("8475071606892874568"); - cbsPluginService.applyPay(paymentEntity); - return null; - } -} diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/cbs8/plugin/PayResultPluginInitializer.java b/buildpackage/src/main/java/com/hzya/frame/plugin/cbs8/plugin/PayResultPluginInitializer.java deleted file mode 100644 index fab668fa..00000000 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/cbs8/plugin/PayResultPluginInitializer.java +++ /dev/null @@ -1,110 +0,0 @@ -package com.hzya.frame.plugin.cbs8.plugin; - -import com.alibaba.fastjson.JSONObject; -import com.hzya.frame.base.PluginBaseEntity; -import com.hzya.frame.plugin.cbs8.service.ICbsPluginService; -import com.hzya.frame.seeyon.cbs8.entity.CbsLogEntity; -import com.hzya.frame.web.entity.JsonResultEntity; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; - -/** - * @Description 查询支付结果 - * @Author xiangerlin - * @Date 2024/6/14 16:24 - **/ -public class PayResultPluginInitializer extends PluginBaseEntity { - Logger logger = LoggerFactory.getLogger(PayResultPluginInitializer.class); - - @Autowired - private ICbsPluginService cbsPluginService; - /*** - * 插件初始化方法 - * @Author 👻👻👻👻👻👻👻👻 gjh - * @Date 2023-08-02 10:48 - * @Param [] - * @return void - **/ - @Override - public void initialize() { - logger.info(getPluginLabel() + "執行初始化方法initialize()"); - } - - /**** - * 插件销毁方法 - * @author 👻👻👻👻👻👻👻👻 gjh - * @date 2023-08-02 10:48 - * @return void - **/ - @Override - public void destroy() { - logger.info(getPluginLabel() + "執行銷毀方法destroy()"); - } - - /**** - * 插件的ID - * @author 👻👻👻👻👻👻👻👻 gjh - * @date 2023-08-02 10:48 - * @return void - **/ - @Override - public String getPluginId() { - return "CBS8PayResultPlugin"; - } - - /**** - * 插件的名称 - * @author 👻👻👻👻👻👻👻👻 gjh - * @date 2023-08-02 10:48 - * @return void - **/ - @Override - public String getPluginName() { - return "cbs8支付结果查询插件"; - } - - /**** - * 插件的显示值 - * @author 👻👻👻👻👻👻👻👻 gjh - * @date 2023-08-02 10:48 - * @return void - **/ - @Override - public String getPluginLabel() { - return "cbs8支付结果查询插件"; - } - - /*** - * 插件类型 1、场景插件 - * @Author 👻👻👻👻👻👻👻👻 gjh - * @Date 2023-08-02 14:01 - * @Param [] - * @return java.lang.String - **/ - @Override - public String getPluginType() { - return "1"; - } - - /*** - * 执行业务代码 - * @Author 👻👻👻👻👻👻👻👻 gjh - * @Date 2023-08-07 11:20 - * @param requestJson 执行业务代码的参数 - * @return void - **/ - @Override - public JsonResultEntity executeBusiness(JSONObject requestJson) throws Exception { - CbsLogEntity cbsLogEntity = null; - if (null != requestJson){ - requestJson.remove("jsonStr"); - cbsLogEntity = JSONObject.parseObject(requestJson.toString(),CbsLogEntity.class); - } - if (null == cbsLogEntity){ - cbsLogEntity = new CbsLogEntity(); - } - cbsPluginService.queryResult(cbsLogEntity); - return null; - } -} diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/cbs8/plugin/TransactionDetailPluginInitializer.java b/buildpackage/src/main/java/com/hzya/frame/plugin/cbs8/plugin/TransactionDetailPluginInitializer.java deleted file mode 100644 index de84e734..00000000 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/cbs8/plugin/TransactionDetailPluginInitializer.java +++ /dev/null @@ -1,126 +0,0 @@ -package com.hzya.frame.plugin.cbs8.plugin; - -import cn.hutool.core.date.DateUtil; -import com.alibaba.fastjson.JSONObject; -import com.hzya.frame.base.PluginBaseEntity; -import com.hzya.frame.cbs8.dto.req.TransactionDetailReqDTO; -import com.hzya.frame.cbs8.dto.res.TransactionDetailDTO; -import com.hzya.frame.cbs8.util.CBSUtil; -import com.hzya.frame.plugin.cbs8.service.ICbsPluginService; -import com.hzya.frame.web.entity.JsonResultEntity; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; - -import java.util.List; - -/** - * @Description 交易明细查询 - * @Author xiangerlin - * @Date 2024/6/17 16:03 - **/ -public class TransactionDetailPluginInitializer extends PluginBaseEntity { - Logger logger = LoggerFactory.getLogger(getClass()); - - @Autowired - private ICbsPluginService cbsPluginService; - - /*** - * 插件初始化方法 - * @Author 👻👻👻👻👻👻👻👻 gjh - * @Date 2023-08-02 10:48 - * @Param [] - * @return void - **/ - @Override - public void initialize() { - logger.info(getPluginLabel() + "執行初始化方法initialize()"); - } - - /**** - * 插件销毁方法 - * @author 👻👻👻👻👻👻👻👻 gjh - * @date 2023-08-02 10:48 - * @return void - **/ - @Override - public void destroy() { - logger.info(getPluginLabel() + "執行銷毀方法destroy()"); - } - - /**** - * 插件的ID - * @author 👻👻👻👻👻👻👻👻 gjh - * @date 2023-08-02 10:48 - * @return void - **/ - @Override - public String getPluginId() { - return "CBS8TransactionDetailQueryPlugin"; - } - - /**** - * 插件的名称 - * @author 👻👻👻👻👻👻👻👻 gjh - * @date 2023-08-02 10:48 - * @return void - **/ - @Override - public String getPluginName() { - return "cbs8交易明细查询插件"; - } - - /**** - * 插件的显示值 - * @author 👻👻👻👻👻👻👻👻 gjh - * @date 2023-08-02 10:48 - * @return void - **/ - @Override - public String getPluginLabel() { - return "cbs8交易明细查询插件"; - } - - /*** - * 插件类型 1、场景插件 - * @Author 👻👻👻👻👻👻👻👻 gjh - * @Date 2023-08-02 14:01 - * @Param [] - * @return java.lang.String - **/ - @Override - public String getPluginType() { - return "1"; - } - - /*** - * 执行业务代码 - * @Author 👻👻👻👻👻👻👻👻 gjh - * @Date 2023-08-07 11:20 - * @param requestJson 执行业务代码的参数 - * @return void - **/ - @Override - public JsonResultEntity executeBusiness(JSONObject requestJson) throws Exception { - TransactionDetailReqDTO transactionDetailReqDTO = null; - if (null != requestJson){ - requestJson.remove("jsonStr"); - transactionDetailReqDTO = JSONObject.parseObject(requestJson.toString(),TransactionDetailReqDTO.class); - } - if (null == transactionDetailReqDTO){ - transactionDetailReqDTO = new TransactionDetailReqDTO(); - } - transactionDetailReqDTO.setCurrentPage(CBSUtil.DEFAULT_CURRENT_PAGE); - transactionDetailReqDTO.setPageSize(CBSUtil.DEFAULT_PAGE_SIZE); - transactionDetailReqDTO.setStartDate(DateUtil.today()); - transactionDetailReqDTO.setEndDate(DateUtil.today()); - transactionDetailReqDTO.setDateType("0"); - transactionDetailReqDTO.setLoanType("2"); - //1查询交易明细 - List transactionDetailList = cbsPluginService.queryTransactionDetail(transactionDetailReqDTO); - //保存交易明细到OA底表 - cbsPluginService.saveTransactionDetail(transactionDetailList); - return new JsonResultEntity("成功",true,transactionDetailList); - //return null; - } -} diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/cbs8/service/ICbsPluginService.java b/buildpackage/src/main/java/com/hzya/frame/plugin/cbs8/service/ICbsPluginService.java deleted file mode 100644 index dd07a04b..00000000 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/cbs8/service/ICbsPluginService.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.hzya.frame.plugin.cbs8.service; - -import com.alibaba.fastjson.JSONObject; -import com.hzya.frame.cbs8.dto.req.AgentPayResultRequestDTO; -import com.hzya.frame.cbs8.dto.req.TransactionDetailReqDTO; -import com.hzya.frame.cbs8.dto.res.AgentPayResultResDTO; -import com.hzya.frame.cbs8.dto.res.PayResponseDTO; -import com.hzya.frame.cbs8.dto.res.TransactionDetailDTO; -import com.hzya.frame.seeyon.cbs8.entity.AgentPaymentDetailEntity; -import com.hzya.frame.seeyon.cbs8.entity.AgentPaymentEntity; -import com.hzya.frame.seeyon.cbs8.entity.CbsLogEntity; -import com.hzya.frame.seeyon.cbs8.entity.PaymentEntity; - -import java.util.List; - -/** - * @Description - * @Author xiangerlin - * @Date 2024/6/17 08:46 - **/ -public interface ICbsPluginService { - - /** - * 支付申请 - * @param entity - */ - void applyPay(PaymentEntity entity)throws Exception; - - /** - * 保存支付申请日志 - * @param entity - * @throws Exception - */ - void savePayLog(PaymentEntity entity,PayResponseDTO payResponseDTO)throws Exception; - - /** - * 查询支付申请的交易结果 - * @param cbsLogEntity - * @throws Exception - */ - void queryResult(CbsLogEntity cbsLogEntity)throws Exception; - - /** - * 电子回单查询 并上传OA - * @param requestJson - * @throws Exception - */ - void elecBillUpload(JSONObject requestJson)throws Exception; - - /** - * 查询交易明细 - * transactionDetailReqDTO.currentPage 、 transactionDetailReqDTO.pageSize 必填 - * @param transactionDetailReqDTO - */ - List queryTransactionDetail(TransactionDetailReqDTO transactionDetailReqDTO); - - /** - * 代发代扣 支付申请 - * @param paymentEntity - */ - void applyAgentPay(AgentPaymentEntity paymentEntity); - - /** - * 代发代扣 结果详情查询 - * @param agentPayResultRequestDTO - * @return - */ - AgentPayResultResDTO agentPayResult(AgentPayResultRequestDTO agentPayResultRequestDTO); - - /** - * 保存交易明细到OA底表 - * @param transactionDetailList - */ - void saveTransactionDetail(List transactionDetailList); - -} diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/cbs8/service/impl/CbsPluginServiceImpl.java b/buildpackage/src/main/java/com/hzya/frame/plugin/cbs8/service/impl/CbsPluginServiceImpl.java deleted file mode 100644 index f560a661..00000000 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/cbs8/service/impl/CbsPluginServiceImpl.java +++ /dev/null @@ -1,513 +0,0 @@ -package com.hzya.frame.plugin.cbs8.service.impl; - -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.convert.Convert; -import cn.hutool.core.date.DateUtil; -import cn.hutool.core.io.FileUtil; -import cn.hutool.core.map.MapBuilder; -import cn.hutool.core.util.NumberUtil; -import cn.hutool.core.util.StrUtil; -import cn.hutool.http.HttpRequest; -import cn.hutool.http.HttpUtil; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.toolkit.StringUtils; -import com.hzya.frame.cbs8.dto.req.*; -import com.hzya.frame.cbs8.dto.res.*; -import com.hzya.frame.cbs8.service.ICbs8Service; -import com.hzya.frame.cbs8.util.CBSUtil; -import com.hzya.frame.cbs8.util.CurrencyEnum; -import com.hzya.frame.cbs8.util.PayState; -import com.hzya.frame.plugin.cbs8.service.ICbsPluginService; -import com.hzya.frame.seeyon.cap4.form.dto.*; -import com.hzya.frame.seeyon.cbs8.entity.*; -import com.hzya.frame.seeyon.cbs8.service.*; -import com.hzya.frame.seeyon.entity.CtpAttachmentEntity; -import com.hzya.frame.seeyon.entity.CtpFileEntity; -import com.hzya.frame.seeyon.service.ICtpAttachmentService; -import com.hzya.frame.seeyon.util.RestUtil; -import com.hzya.frame.uuid.UUIDLong; -import com.hzya.frame.web.exception.BaseSystemException; -import org.apache.commons.collections.CollectionUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; - -import java.io.File; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -/** - * @Description - * @Author xiangerlin - * @Date 2024/6/17 08:46 - **/ -public class CbsPluginServiceImpl implements ICbsPluginService { - - Logger logger = LoggerFactory.getLogger(CbsPluginServiceImpl.class); - @Autowired - private ICbs8Service cbs8Service; - @Autowired - private IPaymentService paymentService; - @Autowired - private ICbsLogService cbsLogService; - @Autowired - private ICtpAttachmentService ctpAttachmentService; - @Autowired - private ITransactionDetailService transactionDetailService; - @Autowired - private IAgentPaymentService agentPaymentService; - @Autowired - private IAgentPaymentDetailService agentPaymentDetailService; - - @Autowired - private RestUtil restUtil; - @Value("${cbs8.elec_path}") - private String elec_path; - @Value("${OA.data_source_code}") - private String oa_data_source_code; - /** - * 支付申请 - * - * @param paymentEntity - */ - @Override - public void applyPay(PaymentEntity paymentEntity) throws Exception{ - //查询待支付的列表 - if (null == paymentEntity){ - paymentEntity = new PaymentEntity(); - } - paymentEntity.setDataSourceCode(oa_data_source_code); - List paymentList = paymentService.queryUnpaid(paymentEntity); - /* List paymentList = new ArrayList<>(); - paymentEntity.setReferenceNum("CL202406140001"); - paymentEntity.setPayAccount("655905707410000"); - paymentEntity.setPayBankName(""); - paymentEntity.setAmount("99"); - paymentEntity.setRevAccount("123456778"); - paymentEntity.setRevBankName("中国工商银行总行清算中心"); - paymentEntity.setRevBankType("ICB"); - paymentEntity.setRevAccountName("测试账户"); - paymentEntity.setCnapsCode("102100099996"); - paymentEntity.setPurpose("测试用途"); - paymentEntity.setBusType("202"); - paymentEntity.setCurrency("10"); - paymentEntity.setPurpose("测试用途"); - paymentList.add(paymentEntity);*/ - if (CollectionUtils.isNotEmpty(paymentList)){ - for (PaymentEntity pay : paymentList) { - //调用支付申请接口 - PayResponseDTO payResponseDTO = cbs8Service.payApply(pay); - boolean successed = payResponseDTO.getSuccessed(); - if (successed){ - pay.setPayResult(PayState.p.getValue()); - }else { - pay.setPayResult("推送失败"); - } - //4、更新OA表单 - pay.setDataSourceCode(oa_data_source_code); - pay.setApplyCode(payResponseDTO.getBusNum()); - paymentService.updatePayState(pay); - //5、记录操作日志 - savePayLog(pay,payResponseDTO); - } - } - } - - /** - * 保存支付申请日志 - * - * @param entity - * @throws Exception - */ - @Override - public void savePayLog(PaymentEntity entity,PayResponseDTO payResponseDTO) throws Exception { - //4. 保存日志 - CbsLogEntity cbsLogEntity = new CbsLogEntity(); - cbsLogEntity.setTitle(entity.getTitle()); - cbsLogEntity.setPay_company(entity.getPayCompany()); - cbsLogEntity.setPayee(entity.getRevAccountName()); - cbsLogEntity.setAmount(entity.getAmount()); - cbsLogEntity.setOa_id(entity.getOaId()); - cbsLogEntity.setBill_code(Convert.toStr(entity.getReferenceNumNew(),entity.getReferenceNum())); - cbsLogEntity.setTab_name_ch(entity.getBillName()); - cbsLogEntity.setTab_name_en(entity.getTableName()); - Boolean successed = payResponseDTO.getSuccessed(); - if (successed){ - cbsLogEntity.setPay_state(PayState.p.getValue()); - cbsLogEntity.setApply_state(PayState.two.getValue()); - cbsLogEntity.setCbs_apply_code(payResponseDTO.getBusNum()); - cbsLogEntity.setSuccessed("true"); - entity.setPayResult(PayState.p.getValue()); - }else { - cbsLogEntity.setPay_state("推送失败"); - cbsLogEntity.setMessage(payResponseDTO.getErrorMsg()); - cbsLogEntity.setSuccessed("false"); - entity.setPayResult("推送失败"); - } - cbsLogService.saveLog(cbsLogEntity); - } - - /** - * 查询支付申请的交易结果 - * - * @param cbsLogEntity - * @throws Exception - */ - @Override - public void queryResult(CbsLogEntity cbsLogEntity) throws Exception { - if (null == cbsLogEntity){ - cbsLogEntity = new CbsLogEntity(); - } - cbsLogEntity.setDataSourceCode(oa_data_source_code); - // 1、查询支付中的日志 - List inPayList = cbsLogService.queryInPayment(cbsLogEntity); - if (CollectionUtils.isNotEmpty(inPayList)){ - for (CbsLogEntity entity : inPayList) { - try { - List payResultResList = cbs8Service.queryPayResult(new PayResultRequestDTO(entity.getBill_code())); - if (CollectionUtils.isNotEmpty(payResultResList)){ - PayResultResDTO payResultResDTO = payResultResList.get(0); - //支付申请状态 - String status = payResultResDTO.getStatus(); - //支付状态 - String pay_status = payResultResDTO.getPayStatus(); - //不等于支付中的时候 更新支付状态 - if (!PayState.p.getType().equals(pay_status)){ - //如果支付状态为空,保存支付申请状态,如果支付状态不为空,则保存支付状态 - PaymentEntity paymentEntity = new PaymentEntity(); - paymentEntity.setOaId(entity.getOa_id()); - paymentEntity.setApplyCode(entity.getCbs_apply_code()); - paymentEntity.setDataSourceCode(oa_data_source_code); - List paymentList = paymentService.query(paymentEntity); - if (CollectionUtils.isNotEmpty(paymentList)){ - paymentEntity = paymentList.get(0); - if (StrUtil.isEmpty(pay_status)) { - //支付申请状态 支付状态和支付申请状态用一个 - paymentEntity.setPayResult(PayState.payStateGetValue(status)); - } else { - //支付状态 支付状态和支付申请状态用一个 - paymentEntity.setPayResult(PayState.payStateGetValue(pay_status)); - } - if (StrUtil.isNotEmpty(pay_status) && pay_status.equals(PayState.g.getType())) { - //支付时间 - paymentEntity.setPayDate(CBSUtil.convertTimestampToString(payResultResDTO.getPayDate())); - } - //更新视图单据状态 - paymentEntity.setDataSourceCode(oa_data_source_code); - paymentService.updatePayState(paymentEntity); - //更新日志表状态 - entity.setPay_state(paymentEntity.getPayResult()); - entity.setApply_state(PayState.payStateGetValue(status)); - entity.setDataSourceCode(oa_data_source_code); - cbsLogService.updateLog(entity); - } - } - } - }catch (Exception e){ - e.printStackTrace(); - logger.error("查询交易结果出错",e); - } - } - } - } - - /** - * 电子回单查询 并上传OA - * - * @param requestJson - * @throws Exception - */ - @Override - public void elecBillUpload(JSONObject requestJson) throws Exception { - //查询支付成功 没有电子回单的数据 - PaymentEntity paymentEntity = new PaymentEntity(); - // List paymentList = paymentService.queryElecIsNull(paymentEntity); - paymentEntity.setPayDate("2024-06-20"); - paymentEntity.setReferenceNum("41"); - List paymentList = Arrays.asList(paymentEntity); - if (CollectionUtils.isNotEmpty(paymentList)) { - for (PaymentEntity pay : paymentList) { - try { - String payDate = DateUtil.format(DateUtil.parse(pay.getPayDate()), "yyyy-MM-dd"); - //查询cbs电子回单 - List elecResList = cbs8Service.queryElecBill(new ElecRequestDTO(payDate,DateUtil.today(),pay.getReferenceNum())); - if (CollectionUtils.isNotEmpty(elecResList)){ - ElecResponseDTO elecResponseDTO = elecResList.get(0); - String bucketFileUrl = elecResponseDTO.getBucketFileUrl(); - String bucketFileName = elecResponseDTO.getBucketFileName(); - //上传电子回单到OA - HttpUtil.downloadFile(bucketFileUrl, FileUtil.file(elec_path));//附件下载 - String pdfUrl = elec_path + bucketFileName; - File file = new File(pdfUrl); - if (file.exists()) { - CtpFileEntity cpFileEntity = new CtpFileEntity(); - cpFileEntity.setFile(file); - cpFileEntity.setDataSourceCode(oa_data_source_code); - JSONObject jsonObjectUpload = restUtil.fileUpload(file,"8000240005"); - String file_url = jsonObjectUpload.getString("fileUrl"); - if (null != jsonObjectUpload && StrUtil.isNotEmpty(file_url)) { - String sub_reference = String.valueOf(UUIDLong.longUUID()); - pay.setReceipt(sub_reference); - //更新表单的电子回单值 - paymentService.updateElec(pay); - //保存附件关系 - CtpAttachmentEntity ctpAttachmentEntity = new CtpAttachmentEntity(); - ctpAttachmentEntity.setFile_url(file_url); - ctpAttachmentService.saveAttachment(file_url, pay.getSummaryId(), sub_reference); - } - //删除本地临时文件 - file.delete(); - } - } - }catch (Exception e){ - logger.error("电子回单查询出错",e); - } - } - } - } - - /** - * 查询交易明细 - * transactionDetailReqDTO.currentPage 、 transactionDetailReqDTO.pageSize 必填 - * @param transactionDetailReqDTO - */ - @Override - public List queryTransactionDetail(TransactionDetailReqDTO transactionDetailReqDTO) { - boolean hasNextPage = true;//是否有下一页 - int currentPage = transactionDetailReqDTO.getCurrentPage(); - int pageSize = transactionDetailReqDTO.getPageSize(); - if (currentPage == 0){ - currentPage = CBSUtil.DEFAULT_CURRENT_PAGE;//页码 - } - if (pageSize == 0){ - pageSize = CBSUtil.DEFAULT_PAGE_SIZE;//每页条数 - transactionDetailReqDTO.setPageSize(pageSize); - } - List resultList = new ArrayList<>(); - do{ - transactionDetailReqDTO.setCurrentPage(currentPage);//页码 - currentPage++;//页码自增 - hasNextPage = false;//保护功能,防止出现死循环 - CbsResDataDTO dataDTO = cbs8Service.queryTransactionDetail(transactionDetailReqDTO); - if (null != dataDTO){ - hasNextPage = dataDTO.getHasNextPage(); - List transactionDetailDTOList = CBSUtil.convertJsonArrayToList(dataDTO.getList(), TransactionDetailDTO.class); - resultList.addAll(transactionDetailDTOList); - } - }while (hasNextPage); - - return resultList; - } - - /** - * 代发代扣 支付申请 - * - * @param paymentEntity - - */ - @Override - public void applyAgentPay(AgentPaymentEntity paymentEntity) { - try { - if (null != paymentEntity ){ - paymentEntity.setDataSourceCode(oa_data_source_code); - List agentPaymentList = agentPaymentService.queryUnpaid(paymentEntity); - if (CollectionUtils.isNotEmpty(agentPaymentList)){ - for (AgentPaymentEntity agentPay : agentPaymentList) { - AgentPaymentDetailEntity detailEntity = new AgentPaymentDetailEntity(); - detailEntity.setFormmainId(agentPay.getOaId()); - detailEntity.setDataSourceCode(oa_data_source_code); - List agentPaymentDetailList = agentPaymentService.queryDetails(detailEntity); - if (CollectionUtils.isNotEmpty(agentPaymentDetailList)){ - PaymentApplySubmitReqDTO paymentApplySubmitReqDTO = BeanUtil.copyProperties(agentPay,PaymentApplySubmitReqDTO.class); - List paymentApplyAgentList = new ArrayList<>(); - for (AgentPaymentDetailEntity detail : agentPaymentDetailList) { - PaymentApplyAgentDTO detailDTO = BeanUtil.copyProperties(detail,PaymentApplyAgentDTO.class); - paymentApplyAgentList.add(detailDTO); - } - //招行这里要传203 - paymentApplySubmitReqDTO.setBankExtend5("203"); - PayResponseDTO payResponseDTO = cbs8Service.agentPayApply(paymentApplySubmitReqDTO,paymentApplyAgentList); - if (null != payResponseDTO){ - Boolean successed = payResponseDTO.getSuccessed(); - AgentPaymentEntity pay = new AgentPaymentEntity(); - pay.setOaId(paymentEntity.getOaId()); - pay.setDataSourceCode(oa_data_source_code); - if (successed){ - //更新申请单号到OA - pay.setApplyCode(payResponseDTO.getBusNum()); - pay.setPayResult("审批中"); - }else { - pay.setPayResult(payResponseDTO.getErrorMsg()); - } - agentPaymentService.updateResult(pay); - System.out.println(JSONObject.toJSONString(payResponseDTO)); - } - } - } - } - }else { - throw new BaseSystemException("参数不能为空"); - } - }catch (Exception e){ - logger.error("代发代扣出错:{}",e); - } - } - - /** - * 代发代扣 结果详情查询 - * - * @param agentPayResultRequestDTO - * @return - */ - @Override - public AgentPayResultResDTO agentPayResult(AgentPayResultRequestDTO agentPayResultRequestDTO) { - try { - if (null != agentPayResultRequestDTO && StrUtil.isNotEmpty(agentPayResultRequestDTO.getBusNum())){ - AgentPayResultResDTO agentPayResultResDTO = cbs8Service.agentPayResult(agentPayResultRequestDTO); - //更新OA表单 - String busNum = agentPayResultResDTO.getBusNum(); - if (StringUtils.isNotEmpty(busNum)){ - AgentPaymentEntity agentPaymentEntity = new AgentPaymentEntity(); - agentPaymentEntity.setApplyCode(busNum); - agentPaymentEntity.setDataSourceCode(oa_data_source_code); - AgentPaymentEntity entity = agentPaymentService.queryByApplyCode(agentPaymentEntity); - String pay_status = agentPayResultResDTO.getPayStatus(); - String status = agentPayResultResDTO.getStatus(); - if (null != entity){ - AgentPaymentEntity result = new AgentPaymentEntity(); - result.setOaId(entity.getOaId()); - result.setDataSourceCode(oa_data_source_code); - //更新主表 - if (StrUtil.isEmpty(pay_status)) { - result.setPayResult(PayState.payStateGetValue(status));//支付申请状态 支付状态和支付申请状态用一个 - } else { - result.setPayResult(PayState.payStateGetValue(pay_status));//支付状态 支付状态和支付申请状态用一个 - } - agentPaymentService.updateResult(result); - //更新明细表 - List agentDetails = agentPayResultResDTO.getAgentDetails(); - for (AgentPayQueryDTO d : agentDetails) { - AgentPaymentDetailEntity detail = new AgentPaymentDetailEntity(); - detail.setFormmainId(entity.getOaId()); - detail.setDtlAmount(d.getDtlAmount()); - detail.setDtlCnapsCode(d.getDtlCnapsCode()); - detail.setDtlRevName(d.getDtlRevName()); - detail.setDtlSeqNum(Integer.valueOf(d.getDtlSeqNum())); - detail.setPayResult(PayState.payStateGetValue(d.getDtlStatus())); - detail.setPayDate(CBSUtil.convertTimestampToString(d.getDtlPayTime())); - detail.setDataSourceCode(oa_data_source_code); - agentPaymentDetailService.updatePayResult(detail); - } - } - } - return agentPayResultResDTO; - } - }catch (Exception e){ - logger.error("代发代扣详情结果查询出错{}",e); - } - return null; - } - - /** - * 保存交易明细到OA底表 - * - * @param transactionlList - */ - @Override - public void saveTransactionDetail(List transactionlList) { - if (CollectionUtils.isNotEmpty(transactionlList)){ - //过滤已经保存过的数据 - //收款档案表的数据 - TransactionDetailEntity transactionDetailEntity = new TransactionDetailEntity(); - transactionDetailEntity.setBankTransactionDate(DateUtil.lastWeek().toDateStr()); - transactionDetailEntity.setDataSourceCode(oa_data_source_code); - List transactionDetailList = transactionDetailService.querySerialNumber(transactionDetailEntity); - //过滤已经保存的数据 - if (CollectionUtils.isNotEmpty(transactionDetailList)){ - //过滤transactionlList 去除已经存在transactionDetailList中的数据,条件为transactionSerialNumber相等 - if (CollectionUtils.isNotEmpty(transactionlList)){ - transactionlList = transactionlList.stream() - .filter(item -> transactionDetailList.stream() - .noneMatch(detailItem -> item.getTransactionSerialNumber().equals(detailItem.getTransactionSerialNumber()))) - .collect(Collectors.toList()); - } - } - if (CollectionUtils.isNotEmpty(transactionlList)){ - //保存到OA底表 - for (TransactionDetailDTO dto : transactionlList) { - TransactionDetailEntity transactionDetail = new TransactionDetailEntity(); - BeanUtil.copyProperties(dto,transactionDetail); - transactionDetail.setCurrency(CurrencyEnum.getChineseNameByCode(dto.getCurrency())); - if (NumberUtil.isNumber(dto.getBankTransactionDate())){//如果是时间戳 转换成日期字符串 - transactionDetail.setBankTransactionDate(CBSUtil.convertTimestampToString(dto.getBankTransactionDate())); - } - transactionDetailService.restSave(transactionDetail); - } - } - } - } - - //这个方法没用,用的是8.0批量保存方式,我没有测试 - private void saveTransactionDetailTemp(List transactionDetailList) { - if (CollectionUtils.isNotEmpty(transactionDetailList)){ - //过滤已经保存过的数据 - for (TransactionDetailDTO dto : transactionDetailList) { - List dataList = new ArrayList<>(); - FormDTO formDTO = new FormDTO(); - formDTO.setFormCode("formmain_0233"); - formDTO.setLoginName("yonyou"); - formDTO.setRightId("6603635988997229999.-8611088937958683581"); - String field0001=dto.getAccountNo();//我方银行账号 - String field0002=dto.getAccountName();//我方户名 - String field0003=dto.getOpenBank();//我方开户行 - String field0004=dto.getBankType();//我方银行类型 - String field0005=dto.getTransactionSerialNumber();//交易流水号 - String field0006=dto.getBankTransactionDate();//交易日期 - String field0007=dto.getBankSerialNumber();//银行流水号 - String field0008=dto.getCurrency();//币种 - String field0009=dto.getIncurredAmount();//收款金额 - String field0010=dto.getPurpose();//用途 - String field0011=dto.getDigest();//摘要 - String field0012=dto.getOppositeAccount();//对方账号 - String field0013=dto.getOppositeName();//对方户名 - String field0014=dto.getOppositeOpeningBank();//对方开户行 - String field0015=dto.getRemark();//备注 - //fields - List fields = new ArrayList<>(); - fields.add(new RecordFieldDTO("field0001",field0001,field0001)); - fields.add(new RecordFieldDTO("field0002",field0002,field0002)); - fields.add(new RecordFieldDTO("field0003",field0003,field0003)); - fields.add(new RecordFieldDTO("field0004",field0004,field0004)); - fields.add(new RecordFieldDTO("field0005",field0005,field0005)); - fields.add(new RecordFieldDTO("field0006",field0006,field0006)); - fields.add(new RecordFieldDTO("field0007",field0007,field0007)); - fields.add(new RecordFieldDTO("field0008",field0008,field0008)); - fields.add(new RecordFieldDTO("field0009",field0009,field0009)); - fields.add(new RecordFieldDTO("field0010",field0010,field0010)); - fields.add(new RecordFieldDTO("field0011",field0011,field0011)); - fields.add(new RecordFieldDTO("field0012",field0012,field0012)); - fields.add(new RecordFieldDTO("field0013",field0013,field0013)); - fields.add(new RecordFieldDTO("field0014",field0014,field0014)); - fields.add(new RecordFieldDTO("field0015",field0015,field0015)); - //masterTable - MasterTableDTO masterTableDTO = new MasterTableDTO(); - masterTableDTO.setName("formmain_1284"); - RecordDTO recordDTO = new RecordDTO(); - recordDTO.setId(UUIDLong.longUUID()); - recordDTO.setFields(fields); - masterTableDTO.setRecord(recordDTO); - //dataList - FormDataDTO formDataDTO = new FormDataDTO(); - formDataDTO.setMasterTable(masterTableDTO); - dataList.add(formDataDTO); - formDTO.setDataList(dataList); - } - } - } - -} diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/outsourc/ConsignmachiningIn.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/outsourc/ConsignmachiningIn.java index d5160577..2fef5395 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/outsourc/ConsignmachiningIn.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/outsourc/ConsignmachiningIn.java @@ -12,18 +12,15 @@ import com.hzya.frame.plugin.lets.constant.ProfilesActiveConstant; import com.hzya.frame.plugin.lets.dao.*; import com.hzya.frame.plugin.lets.entity.*; import com.hzya.frame.plugin.lets.ofsvo.QueryOfsSoSaleOutVo; -import com.hzya.frame.plugin.lets.plugin.purchase.ProxyPurchaseReturn; import com.hzya.frame.plugin.lets.u8cdto.*; import com.hzya.frame.plugin.lets.util.OfsStandardUtil; +import com.hzya.frame.plugin.lets.util.OnlyImplementProxyOrderUtil; import com.hzya.frame.plugin.lets.util.QueryBdBusitypeUtil; import com.hzya.frame.plugin.lets.util.RdclUtil; import com.hzya.frame.ttxofs.dto.ofspoorder.OfsPoOrderData; import com.hzya.frame.ttxofs.dto.ofspoorder.OfsPoOrderDetails; import com.hzya.frame.ttxofs.dto.ofspoorder.OfsPoOrderHeader; -import com.hzya.frame.ttxofs.dto.ofspurchasereturnorder.PurchaseReturnOrderDetails; -import com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.DetailsDto; import com.hzya.frame.ttxofs.dto.stock.StockinOrderSearchResponse; -import com.hzya.frame.ttxofs.service.OfsUnifiedService; import com.hzya.frame.web.entity.JsonResultEntity; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -73,6 +70,9 @@ public class ConsignmachiningIn extends PluginBaseEntity { @Autowired private IScOrderBDao iScOrderBDao; + @Autowired + private OnlyImplementProxyOrderUtil onlyImplementProxyOrder; + @Override public void initialize() { logger.info(getPluginLabel() + "執行初始化方法initialize()"); @@ -358,6 +358,12 @@ public class ConsignmachiningIn extends PluginBaseEntity { OfsPoOrderHeader ofsPoOrderDataHeader = ofsPoOrderData.getHeader(); List ofsPoOrderDataDetails = ofsPoOrderData.getDetails(); + //如果该O采购订单对应的类型为:委外加工,则继续代码逻辑,否则就跳过代码逻辑 + boolean checkResult = onlyImplementProxyOrder.onlyImplementProxyOrder(ofsPoOrderData, "WWJG"); + if (!checkResult) { + continue; + } + //2024年8月25日 09:42:58 查询委外订单,如果这一步报错,后续的逻辑就没有必要执行了 String ofsId = ofsPoOrderDataHeader.getId(); Assert.notNull(ofsId, "通过接口查询到OFS采购订单,但是没有采购订单主键,业务逻辑无法完成"); diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/outsourc/ConsignmachiningInReturn.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/outsourc/ConsignmachiningInReturn.java index 1661f022..2e8e9045 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/outsourc/ConsignmachiningInReturn.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/outsourc/ConsignmachiningInReturn.java @@ -1,15 +1,767 @@ package com.hzya.frame.plugin.lets.plugin.outsourc; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.StrUtil; +import cn.hutool.http.HttpRequest; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.hzya.frame.base.PluginBaseEntity; +import com.hzya.frame.beanutil.BeanUtil; +import com.hzya.frame.plugin.lets.constant.ProfilesActiveConstant; +import com.hzya.frame.plugin.lets.dao.*; +import com.hzya.frame.plugin.lets.entity.*; +import com.hzya.frame.plugin.lets.ofsvo.QueryOfsSoSaleOutVo; +import com.hzya.frame.plugin.lets.u8cdto.*; +import com.hzya.frame.plugin.lets.util.*; +import com.hzya.frame.ttxofs.dto.ofspoorder.OfsPoOrderData; +import com.hzya.frame.ttxofs.dto.ofspoorder.OfsPoOrderDetails; +import com.hzya.frame.ttxofs.dto.ofspoorder.OfsPoOrderHeader; +import com.hzya.frame.ttxofs.dto.ofspurchasereturnorder.PurchaseReturnOrder; +import com.hzya.frame.ttxofs.dto.ofspurchasereturnorder.PurchaseReturnOrderDetails; +import com.hzya.frame.ttxofs.dto.ofspurchasereturnorder.PurchaseReturnOrderHeader; +import com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.DetailsDto; +import com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.HeaderDetailsDto; +import com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.HeaderDto; +import com.hzya.frame.ttxofs.dto.stock.StockinOrderSearchResponse; +import com.hzya.frame.web.entity.JsonResultEntity; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; + +import java.math.BigDecimal; +import java.util.*; + /** - * O采退出库 -> U8C红字委外加工入库 + * O采退出库 -> U8C红字委外订单 * * @Author:liuyang * @Package:com.hzya.frame.plugin.lets.plugin.outsourc * @Project:kangarooDataCenterV3 * @name:ConsignmachiningIn - * @Date:2024/8/22 23:49 + * @Date:2024年8月26日 15:34:34 * @Filename:ConsignmachiningIn */ -public class ConsignmachiningInReturn { +public class ConsignmachiningInReturn extends PluginBaseEntity { + Logger logger = LoggerFactory.getLogger(ConsignmachiningInReturn.class); + + @Autowired + private QueryBdBusitypeUtil queryBdBusitypeUtil; + + @Autowired + private IBdCorpDao iBdCorpDao; + + @Autowired + private IBdInvmandocDao iBdInvmandocDao; + + @Autowired + private IBdCalbodyDao iBdCalbodyDao; + + @Autowired + private RdclUtil rdclUtil; + + @Autowired + private OfsStandardUtil ofsStandardUtil; + + @Autowired + private IBdCumandocDao iBdCumandocDao; + +// @Autowired +// private IScOrderDao iScOrderDao; + +// @Autowired +// private IScOrderBDao iScOrderBDao; + + @Autowired + private IBdCubasdocDao iBdCubasdocDao; + + @Autowired + private IBdPurorgDao iBdPurorgDao; + + @Autowired + private OnlyImplementProxyOrderUtil onlyImplementProxyOrder; + + @Override + public void initialize() { + logger.info(getPluginLabel() + "執行初始化方法initialize()"); + } + + @Override + public void destroy() { + logger.info(getPluginLabel() + "執行銷毀方法destroy()"); + } + + @Override + public String getPluginId() { + return "com.hzya.frame.plugin.lets.plugin.outsourc.ConsignmachiningInReturn"; + } + + @Override + public String getPluginName() { + return "OFS采退出库单生成U8C红字委外订单"; + } + + @Override + public String getPluginLabel() { + return "OFS采退出库单生成U8C红字委外订单"; + } + + @Override + public String getPluginType() { + return "3"; + } + + @Override + public JsonResultEntity executeBusiness(JSONObject requestJson) throws Exception { + return null; + } + + /** + * 根据单号查询 + * + * @author liuyang + */ + public void startImplement(String startTime, String endTime) { + String threadNameStrStart = StrUtil.format("开始(委外采退)OFS采退出库单生成U8红字C委外订单 开始时间:{} 结束时间:{}", startTime, endTime); + logger.info(threadNameStrStart); + + Thread thread = new Thread(new Runnable() { + @Override + public void run() { + try { + //OFS采退出库 + List returnGoodHeaderDetailsDataDtoArrayList = new ArrayList<>(); + QueryOfsSoSaleOutVo queryOfsSoSaleOutVo = new QueryOfsSoSaleOutVo(); + queryOfsSoSaleOutVo.setClosedAt_start(startTime); + queryOfsSoSaleOutVo.setClosedAt_end(endTime); + queryOfsSoSaleOutVo.setClientCode("LETS"); + queryOfsSoSaleOutVo.setPageNo(1L); + queryOfsSoSaleOutVo.setPageSize(50L); + queryOfsSoSaleOutVo.setInternalInstructionType("PURCHASE_RETURN"); + queryOfsSoSaleOutVo.setStatus(900L); + ofsStandardUtil.queryOfsSaleOrder(queryOfsSoSaleOutVo, returnGoodHeaderDetailsDataDtoArrayList, 1L, "ofs.shipment.search"); + logger.info("数据返回行数:{}", returnGoodHeaderDetailsDataDtoArrayList.size()); + if (returnGoodHeaderDetailsDataDtoArrayList.size() > 0) { + getSet(returnGoodHeaderDetailsDataDtoArrayList); + } else { + logger.info("没有查询到任何数据!不需要发起同步逻辑!!"); + } + } catch (Exception e) { + logger.error("startImplement方法抛出异常", e); + } + } + }, threadNameStrStart); + thread.start(); + try { + thread.join(); + } catch (Exception e) { + logger.error("thread.join()异常", e); + } + String threadNameStrEnd = StrUtil.format("结束(委外采退)OFS采退出库单生成U8红字C委外订单 开始时间:{} 结束时间:{}", startTime, endTime); + logger.info(threadNameStrEnd); + } + + /** + * 根据单号查询 + * + * @author liuyang + */ + public void startImplement(String code) { + String threadNameStrStart = StrUtil.format("开始(委外采退)OFS采退出库单生成U8红字C委外订单 OFS采购入库单号:{}", code); + logger.info(threadNameStrStart); + + Thread thread = new Thread(new Runnable() { + @Override + public void run() { + try { + List returnGoodHeaderDetailsDataDtoArrayList = new ArrayList<>(); + QueryOfsSoSaleOutVo queryOfsSoSaleOutVo = new QueryOfsSoSaleOutVo(); + queryOfsSoSaleOutVo.setClientCode("LETS"); + queryOfsSoSaleOutVo.setPageNo(1L); + queryOfsSoSaleOutVo.setPageSize(50L); + queryOfsSoSaleOutVo.setCode(code); + queryOfsSoSaleOutVo.setInternalInstructionType("PURCHASE_RETURN"); + queryOfsSoSaleOutVo.setStatus(900L); + ofsStandardUtil.queryOfsSaleOrder(queryOfsSoSaleOutVo, returnGoodHeaderDetailsDataDtoArrayList, 1L, "ofs.shipment.search"); + logger.info("数据返回行数:{}", returnGoodHeaderDetailsDataDtoArrayList.size()); + if (returnGoodHeaderDetailsDataDtoArrayList.size() > 0) { + getSet(returnGoodHeaderDetailsDataDtoArrayList); + } else { + logger.info("没有查询到任何数据!不需要发起同步逻辑!!"); + } + } catch (Exception e) { + logger.error("startImplement方法抛出异常", e); + } + } + }, threadNameStrStart); + thread.start(); + try { + thread.join(); + } catch (Exception e) { + logger.error("thread.join()异常", e); + } + String threadNameStrEnd = StrUtil.format("结束(委外采退)OFS采退出库单生成U8红字C委外订单 OFS采购入库单号:{}", code); + logger.info(threadNameStrEnd); + } + + /** + * 环境预配置 + * + * @param returnGoodHeaderDetailsDataDtoArrayList 采退出库单 + * @author liuyang + */ + private void getSet(List returnGoodHeaderDetailsDataDtoArrayList) throws Exception { + //过滤成功的数据 + List headerDetailsDtos = filterData(returnGoodHeaderDetailsDataDtoArrayList); + //执行推送主逻辑 + implement(headerDetailsDtos); + } + + /** + * 过滤掉成功的数据 + * + * @author liuyang + */ + private List filterData(List returnGoodHeaderDetailsDataDtoArrayList) { + List headerDetailsDtoList1 = new ArrayList<>(); + if (returnGoodHeaderDetailsDataDtoArrayList != null && returnGoodHeaderDetailsDataDtoArrayList.size() > 0) { + //TODO 出库单明细主键,需要O返回,目前没有,已经提需求 + headerDetailsDtoList1.addAll(returnGoodHeaderDetailsDataDtoArrayList); + } + return headerDetailsDtoList1; + } + + /** + * 执行主逻辑 + * + * @author liuyang + */ + private void implement(List headerDetailsDtos) throws Exception { + if (headerDetailsDtos != null && headerDetailsDtos.size() > 0) { + try { + // 查询基本档案 + List returnOrderHeaderDtos = queryBasicArchives(headerDetailsDtos); + // 查询采购收发类别 + BdRdclEntity bdRdclEntity = rdclUtil.queryRdClObject("105"); + + if (returnOrderHeaderDtos != null && returnOrderHeaderDtos.size() > 0) { + for (int i = 0; i < returnOrderHeaderDtos.size(); i++) { + ReturnOrderHeaderDto returnOrderHeaderDto = returnOrderHeaderDtos.get(i); + List details = returnOrderHeaderDto.getDetails(); + + String generateBusinessDate = createGenerateBusinessDate(returnOrderHeaderDto); //生成业务日期 + PurchaseReturnOrder purchaseReturnOrder = returnOrderHeaderDto.getPurchaseReturnOrder();//OFS采退订单 + PurchaseReturnOrderHeader header = purchaseReturnOrder.getHeader(); + List details2 = purchaseReturnOrder.getDetails(); + BdCorpEntity bdCorpEntity = returnOrderHeaderDto.getBdCorpEntity();//公司 + BdCalbodyEntity bdCalbodyEntity = returnOrderHeaderDto.getBdCalbodyEntity();//库存组织 + BdCubasdocEntity bdCubasdocEntity = returnOrderHeaderDto.getBdCubasdocEntity();//供应商基本档案 + BdCumandocEntity bdCumandocEntity = returnOrderHeaderDto.getBdCumandocEntity();//供应商管理档案 + BdPurorgEntity bdPurorgEntity = returnOrderHeaderDto.getBdPurorgEntity();//采购组织 + BdBusitypeEntity bdBusitypeEntity1 = returnOrderHeaderDto.getBdBusitypeEntity();//业务流程 + List details1 = returnOrderHeaderDto.getDetails();//OFS采退出库单明细行 + + //委外订单 + ScorderHeadDto scorderHeadDto = new ScorderHeadDto(); + scorderHeadDto.setPk_corp(bdCorpEntity.getPkCorp()); + scorderHeadDto.setCbiztype(bdBusitypeEntity1.getPkBusitype()); + scorderHeadDto.setCoperator("0001A110000000000U3D"); + scorderHeadDto.setCpurorganization(bdPurorgEntity.getPkPurorg()); + scorderHeadDto.setCvendormangid(bdCumandocEntity.getPkCumandoc()); + scorderHeadDto.setCwareid(bdCalbodyEntity.getPkCalbody()); + scorderHeadDto.setDorderdate(generateBusinessDate); + + scorderHeadDto.setVdef3(bdRdclEntity.getPkRdcl()); + scorderHeadDto.setVdef17(ProfilesActiveConstant.sourceSystem1); + scorderHeadDto.setVdef19(returnOrderHeaderDto.getCode()); + scorderHeadDto.setVdef20(returnOrderHeaderDto.getId()); + + //委外入库表头明细行 + List scorderBodyDtoArrayList = new ArrayList<>(); + for (int j = 0; j < details.size(); j++) { + DetailsDto detailsDto = details.get(j); + //查询存货管理档案 + BdInvmandocEntity bdInvmandocEntity = queryInventoryMan(detailsDto, bdCorpEntity.getPkCorp()); + //根据存货基础档案编码,查询当前存货的税率 + BdTaxitemsEntity bdTaxitemsEntity1 = queryBdTaxitems(bdInvmandocEntity.getInvcode()); + //查找OFS采购订单明细行 + PurchaseReturnOrderDetails ofsPoOrderDetail = findOfsPoOrderDetail(details2, detailsDto); + + String receivedQty = detailsDto.getShipQty();//实发数量 + String fulfillAmount = ofsPoOrderDetail.getFulfillAmount();//实际进价 + + String tax = "0." + new BigDecimal(bdTaxitemsEntity1.getTaxratio()).stripTrailingZeros().toPlainString(); + BigDecimal noriginalcurtaxprice = null;//含税单价 + BigDecimal noriginalnetprice = null;//无税单价 + try { + noriginalcurtaxprice = new BigDecimal(fulfillAmount).divide(new BigDecimal(receivedQty), 20, BigDecimal.ROUND_HALF_UP).setScale(4, BigDecimal.ROUND_HALF_UP); + noriginalnetprice = noriginalcurtaxprice.divide(new BigDecimal(1).add(new BigDecimal(tax)), 20, BigDecimal.ROUND_HALF_UP).setScale(4, BigDecimal.ROUND_HALF_UP); + logger.info("O采退订单单号:{} O采购入库单单号:{} 含税单价:{} 无税单价:{} 存货编码:{} 存货名称:{}", header.getCode(), returnOrderHeaderDto.getCode(), noriginalcurtaxprice, noriginalnetprice, detailsDto.getSkuCode(), detailsDto.getSkuName()); + } catch (Exception e) { + logger.error("委外订单无税单价", e); + } + + ScorderBodyDto scorderBodyDto = new ScorderBodyDto(); + scorderBodyDto.setCmangid(bdInvmandocEntity.getPkInvmandoc());//加工品 + scorderBodyDto.setNordernum("-" + new BigDecimal(detailsDto.getShipQty()).stripTrailingZeros().toPlainString());//数量 + scorderBodyDto.setNoriginalnetprice(noriginalnetprice.stripTrailingZeros().toPlainString());//净单价(无税) + scorderBodyDto.setDplanarrvdate(generateBusinessDate); + scorderBodyDtoArrayList.add(scorderBodyDto); + } + + List scorderDtoArrayList = new ArrayList<>(); + ScorderDto scorderDto = new ScorderDto(); + scorderDto.setParentvo(scorderHeadDto); + scorderDto.setChildrenvo(scorderBodyDtoArrayList); + scorderDtoArrayList.add(scorderDto); + + Map> stringStringMap = new HashMap<>(); + stringStringMap.put("OrderVO", scorderDtoArrayList); + + IcGeneralHResultDto icGeneralHResultDto = sendU8cScorder(JSON.toJSONString(stringStringMap)); + + String cgeneralhid = null; + String vbillcode = null; + IcGeneralHResultHeadDto parentvo = icGeneralHResultDto.getParentvo(); + List childrenvo = icGeneralHResultDto.getChildrenvo(); + if (parentvo != null) { + cgeneralhid = parentvo.getCgeneralhid(); + } + if (childrenvo != null) { + vbillcode = parentvo.getVbillcode(); + } + logger.info("推送U8C委外订单成功!委外入库单主键:{} 委外入库单编码:{}", cgeneralhid, vbillcode); + + //生成委外入库单红字 + } + } else { + logger.info("returnOrderHeaderDtos.size为0!"); + } + } catch (Exception e) { + logger.error("implement方法抛出异常", e); + } + } + } + + /** + * 档案转换(OFS->U8C) + * 2024年8月23日 12:02:47 和妮姐沟通,单据流程U8C成品委外订单 -> 备料计划 -> U8C委外发料(核销) + * + * @author liuyang + */ + private List queryBasicArchives(List headerDetailsDtos) { + List returnOrderHeaderDtoArrayList = new ArrayList<>(); + + if (headerDetailsDtos != null && headerDetailsDtos.size() > 0) { + try { + for (int i = 0; i < headerDetailsDtos.size(); i++) { + HeaderDetailsDto headerDetailsDto = headerDetailsDtos.get(i); + HeaderDto header = headerDetailsDto.getHeader(); + List details = headerDetailsDto.getDetails(); + + //2024年8月25日 09:54:31 查询OFS采退订单 + PurchaseReturnOrder purchaseReturnOrder = queryPurchaseReturnOrder(header.getRefOrderCode()); + Assert.notNull(purchaseReturnOrder, "无法查询到采退订单 refOrderCode:{}", header.getRefOrderCode()); + PurchaseReturnOrderHeader ofsWithdrawalHead = purchaseReturnOrder.getHeader(); + List ofsWithdrawalDetails = purchaseReturnOrder.getDetails(); + + //如果该O采购订单对应的类型为:委外加工,则继续代码逻辑,否则就跳过代码逻辑 + boolean checkResult = onlyImplementProxyOrder.onlyImplementProxyOrder(purchaseReturnOrder, "WWJG"); + if (!checkResult) { + continue; + } + + //2024年8月26日 16:08:05 委外订单对应的公司 + String companyCode = header.getCompanyCode(); + Assert.notNull(companyCode, "O表头货主编码不能为空"); + BdCorpEntity bdCorpEntity = new BdCorpEntity(); + bdCorpEntity.setDr(0); + bdCorpEntity.setDataSourceCode("lets_u8c"); + bdCorpEntity.setUnitcode(companyCode); + List bdCorpEntityList = iBdCorpDao.query(bdCorpEntity); + if (bdCorpEntityList.size() == 0) { + Assert.state(false, "根据O货主编码{},无法匹配到U8C销售公司", companyCode); + } else if (bdCorpEntityList.size() >= 2) { + Assert.state(false, "根据O货主编码{},匹配到U8C销售公司{}个", companyCode, bdCorpEntityList.size()); + } + + // 2024年8月26日 16:10:00 公司对应的库存组织 + BdCalbodyEntity bdCalbodyEntity = new BdCalbodyEntity(); + bdCalbodyEntity.setDr(0); + bdCalbodyEntity.setDataSourceCode("lets_u8c"); + bdCalbodyEntity.setPkCorp(bdCorpEntityList.get(0).getPkCorp()); + List bdCalbodyEntities = iBdCalbodyDao.query(bdCalbodyEntity); + if (bdCalbodyEntities.size() == 0) { + Assert.state(false, "根据U8C采购公司{},无法匹配到U8C发货库存组织", bdCorpEntityList.get(0).getPkCorp()); + } else if (bdCalbodyEntities.size() >= 2) { + Assert.state(false, "根据U8C采购公司{},匹配到U8C发货库存组织{}个", bdCorpEntityList.get(0).getPkCorp(), bdCalbodyEntities.size()); + } + + //2024年8月26日 16:11:24 供应商基本档案 + String shipFromCode = ofsWithdrawalHead.getShipFromCode(); + Assert.notNull(shipFromCode, "O供应商编码不能为空,没有办法完成业务逻辑,请配置供应商编码(采退)"); + Assert.state(!"".equals(shipFromCode.trim()), "O供应商编码不能为空,没有办法完成业务逻辑,请配置供应商编码!"); + BdCubasdocEntity bdCubasdocEntity = new BdCubasdocEntity(); + bdCubasdocEntity.setDataSourceCode("lets_u8c"); + bdCubasdocEntity.setDr(0L); + bdCubasdocEntity.setDef1(shipFromCode); + List bdCubasdocEntityList = iBdCubasdocDao.query(bdCubasdocEntity); + if (bdCubasdocEntityList == null || bdCubasdocEntityList.size() == 0) { + Assert.state(false, "根据OFS供应商业务编码{},无法查询到U8C客商档案信息(供应商)", shipFromCode); + } else if (bdCubasdocEntityList.size() >= 2) { + Assert.state(false, "根据OFS供应商业务编码{},查询到多个U8C客商档案信息(供应商)", shipFromCode); + } + + //客商管理档案 + BdCumandocEntity bdCumandocEntity1 = new BdCumandocEntity(); + bdCumandocEntity1.setDataSourceCode("lets_u8c"); + bdCumandocEntity1.setDr(0L); + bdCumandocEntity1.setPkCorp(bdCorpEntityList.get(0).getPkCorp()); + bdCumandocEntity1.setCustflags(ProfilesActiveConstant.SUPPLIER); + bdCumandocEntity1.setPkCubasdoc(bdCubasdocEntityList.get(0).getPkCubasdoc()); + List bdCumandocEntityList = iBdCumandocDao.query(bdCumandocEntity1); + if (bdCumandocEntityList == null || bdCumandocEntityList.size() == 0) { + Assert.state(false, "根据客商基本档案(供应商)主键{},无法匹配到客商管理档案", bdCubasdocEntityList.get(0).getPkCubasdoc()); + } else if (bdCumandocEntityList.size() >= 2) { + Assert.state(false, "根据客商基本档案(供应商)主键{},匹配到多个客商管理档案", bdCubasdocEntityList.get(0).getPkCubasdoc()); + } + + // 采购组织 + BdPurorgEntity bdPurorgEntity = new BdPurorgEntity(); + bdPurorgEntity.setDr("0"); + bdPurorgEntity.setDataSourceCode("lets_u8c"); + bdPurorgEntity.setOwnercorp(bdCorpEntityList.get(0).getPkCorp()); + List bdPurorgEntityList = iBdPurorgDao.query(bdPurorgEntity); + if (bdPurorgEntityList.size() == 0) { + Assert.state(false, "根据采购公司主键:{} 无法匹配到采购组织", bdCorpEntityList.get(0).getPkCorp()); + } else if (bdPurorgEntityList.size() >= 2) { + Assert.state(false, "根据采购公司主键:{} 匹配到多个采购组织", bdCorpEntityList.get(0).getPkCorp()); + } + + //业务流程 + String busitypeName = "委外加工"; + BdBusitypeEntity bdBusitypeEntity = queryBdBusitypeUtil.queryBdBusitype(busitypeName, bdCalbodyEntities.get(0).getPkCorp()); + Assert.notNull(bdBusitypeEntity, "根据业务名称{} 公司:{},无法匹配到U8C业务类型", busitypeName, bdCalbodyEntities.get(0).getPkCorp()); + + ReturnOrderHeaderDto returnOrderHeaderDto = new ReturnOrderHeaderDto(); + returnOrderHeaderDto.setPurchaseReturnOrder(purchaseReturnOrder); + returnOrderHeaderDto.setBdCorpEntity(bdCorpEntityList.get(0)); + returnOrderHeaderDto.setBdCalbodyEntity(bdCalbodyEntities.get(0)); + returnOrderHeaderDto.setBdCubasdocEntity(bdCubasdocEntityList.get(0)); + returnOrderHeaderDto.setBdCumandocEntity(bdCumandocEntityList.get(0)); + returnOrderHeaderDto.setBdPurorgEntity(bdPurorgEntityList.get(0)); + returnOrderHeaderDto.setBdBusitypeEntity(bdBusitypeEntity); + + BeanUtil.copyPropertiesV2(header, returnOrderHeaderDto); + returnOrderHeaderDtoArrayList.add(returnOrderHeaderDto); + } + //成功 + } catch (Exception e) { + logger.error("委外订单OFS档案转换", e); + //失败 + } + } else { + logger.info("queryBasicArchives对应returnGoodHeaderDetailsDataDtoList.size为0"); + } + return returnOrderHeaderDtoArrayList; + } + + /** + * 查询委外订单表头对象 + * + * @author liuyang + */ +// private ScOrderEntity queryScOrder(String ofsPoOrderId) { +// Assert.notNull(ofsPoOrderId, "ofsPoOrderId不能为空!"); +// Assert.state(!"".equals(ofsPoOrderId.trim()), "ofsPoOrderId不能为空"); +// +// ScOrderEntity scOrderEntity = new ScOrderEntity(); +// scOrderEntity.setVdef20(ofsPoOrderId); +// scOrderEntity.setDr("0"); +// scOrderEntity.setDataSourceCode("lets_u8c"); +// List scOrderEntityList = iScOrderDao.query(scOrderEntity); +// if (scOrderEntityList == null || scOrderEntityList.size() == 0) { +// Assert.state(false, "根据O采购订单主键:{}(u委外订单自定义项20存储O采购订单主键),无法匹配到U8C委外订单", ofsPoOrderId); +// } else if (scOrderEntityList.size() >= 2) { +// Assert.state(false, "根据O采购订单主键:{}(u委外订单自定义项20存储O采购订单主键),匹配到{}个U8C委外订单", ofsPoOrderId, scOrderEntityList.size()); +// } +// return scOrderEntityList.get(0); +// } + + /** + * 2024年8月25日 14:11:31 查询U8C委外订单明细 + * + * @param corderid 委外订单表头主键 + * @author liuyang + */ +// private List queryScOrderDetail(String corderid) throws Exception { +// Assert.notNull(corderid, "委外订单表头主键不能为空!"); +// Assert.state(!"".equals(corderid), "委外订单表头主键不能为空!"); +// +// ScOrderBEntity scOrderBEntity = new ScOrderBEntity(); +// scOrderBEntity.setCorderid(corderid); +// scOrderBEntity.setDr("0"); +// scOrderBEntity.setDataSourceCode("lets_u8c"); +// List scOrderBEntityList = iScOrderBDao.query(scOrderBEntity); +// if (scOrderBEntityList == null || scOrderBEntityList.size() == 0) { +// //2024年8月25日 14:16:31 这个验证非常要必要,单据如果没有表体没有行,是很可疑的 +// Assert.state(false, "根据U8C委外订单主键({})无法查询到委外订单表体明细行!", corderid); +// } +// return scOrderBEntityList; +// } + + /** + * 2024年8月6日 10:59:03 查询U8C业务流程 + * + * @param pkCorp 公司主键 + * @author liuyang + */ +// private BdBusitypeEntity u8cOperationFlow(String pkCorp) throws Exception { +// Assert.notNull(pkCorp, "公司主键不能为空!"); +// Assert.state(!"".equals(pkCorp.trim()), "公司主键不能为空!"); +// //查询业务流程 +// //2024年8月6日 11:33:07 具体的业务流程名称,还需要实施提供 +// String processName = "委外加工"; +// BdBusitypeEntity bdBusitypeEntity = queryBdBusitypeUtil.queryBdBusitype(processName, pkCorp); +// Assert.notNull(bdBusitypeEntity, "根据业务流程名称({})没有查询到业务流程", processName); +// return bdBusitypeEntity; +// } + + /** + * 匹配U8C采购订单明细行 + * 通过O采购入库单明细行,得到采购订单明细行,最后查找到U8C采购订单明细行 + * + * @param stockinB OFS采购入库单明细行 + * @param ofsPoOrderData OFS采购订单 + * @param scOrderBEntityList U8C委外订单明细行 + * @author liuyang + */ +// private ScOrderBEntity findOfsPoOrderDetailAndU8cPoOrderDetail(StockinOrderSearchResponse.StockinOrder.StockinB stockinB, OfsPoOrderData ofsPoOrderData, List scOrderBEntityList) { +// Assert.notNull(stockinB, "stockinB不能为空"); +// Assert.notNull(ofsPoOrderData, "ofsPoOrderData不能为空"); +// Assert.notNull(scOrderBEntityList, "scOrderBEntityList删除不能为空"); +// +//// OfsPoOrderHeader header = ofsPoOrderData.getHeader(); +// List details = ofsPoOrderData.getDetails(); +// +// //查找采购订单明细行 +// OfsPoOrderDetails tarGetOfsPoOrderDetails = null; +// for (int i = 0; i < details.size(); i++) { +// OfsPoOrderDetails ofsPoOrderDetails = details.get(i); +// if (ofsPoOrderDetails.getId().equals(stockinB.getRefOrderDetailId())) { +// tarGetOfsPoOrderDetails = ofsPoOrderDetails; +// } +// } +// Assert.notNull(tarGetOfsPoOrderDetails, "无法匹配到采购订单明细行! 目标主键:{}", stockinB.getRefOrderDetailId()); +// +// //根据采购订单明细行主键,查找U8C采购订单明细行 +// for (int i = 0; i < scOrderBEntityList.size(); i++) { +// ScOrderBEntity scOrderBEntity = scOrderBEntityList.get(i); +// Assert.notNull(scOrderBEntity.getVdef20(), "委外订单明细行v20不能为空(明细行v20存储O采购订单明细行主键)!"); +// Assert.state(!"".equals(scOrderBEntity.getVdef20()), "委外订单明细行v20不能为空(明细行v20存储O采购订单明细行主键)!"); +// if (tarGetOfsPoOrderDetails.getId().equals(scOrderBEntity.getVdef20())) { +// return scOrderBEntity; +// } +// } +// Assert.state(false, "通过U8C采购订单明细行主键层层匹配到U8C采购明细失败!"); +// return null; +// } + + + /** + * 匹配U8C采购订单明细行 + * 通过O采购入库单明细行,得到采购订单明细行,最后查找到U8C采购订单明细行 + * + * @param stockinB OFS采购入库单明细行 + * @param ofsPoOrderData OFS采购订单 + * @author liuyang + */ +// private OfsPoOrderDetails findOfsPoOrderDetailRowTraget(StockinOrderSearchResponse.StockinOrder.StockinB stockinB, OfsPoOrderData ofsPoOrderData) { +// Assert.notNull(stockinB, "stockinB不能为空"); +// Assert.notNull(ofsPoOrderData, "ofsPoOrderData不能为空"); +// +// List details = ofsPoOrderData.getDetails(); +// for (int i = 0; i < details.size(); i++) { +// OfsPoOrderDetails ofsPoOrderDetails = details.get(i); +// if (ofsPoOrderDetails.getId().equals(stockinB.getRefOrderDetailId())) { +// return ofsPoOrderDetails; +// } +// } +// Assert.state(false, "通过OFS采购入库单,无法匹配到OFS采购订单明细行! 目标主键:{}", stockinB.getRefOrderDetailId()); +// return null; +// } + + /** + * 查询存货管理档案 + * + * @param pkCorp 发货公司主键 + * @param detailsDto 采购入库单明细行 + * @author liuyang + */ + private BdInvmandocEntity queryInventoryMan(DetailsDto detailsDto, String pkCorp) throws Exception { + Assert.notNull(detailsDto, "sonDetailsDto不能为空"); + Assert.notNull(detailsDto.getSkuCode(), "O存货商家编码不能为空"); + Assert.notNull(pkCorp, "发货公司主键不能为空"); + + BdInvmandocEntity bdInvmandocEntity = new BdInvmandocEntity(); + bdInvmandocEntity.setInvcode(detailsDto.getSkuCode()); + bdInvmandocEntity.setPkCorp(pkCorp); + List bdInvmandocEntity2 = iBdInvmandocDao.queryBdInvmandocByInvcodeList(bdInvmandocEntity); + if (bdInvmandocEntity2.size() == 0) { + Assert.state(false, "根据O商家编码:{} U8C发货公司主键:{}没有查询到存货管理档案", detailsDto.getSkuCode(), pkCorp); + } else if (bdInvmandocEntity2.size() >= 2) { + Assert.state(false, "根据O商家编码:{} U8C发货公司主键:{}没有查询到存货管理档案", detailsDto.getSkuCode(), pkCorp); + } + return bdInvmandocEntity2.get(0); + } + + /** + * 2024年8月25日 15:12:22 + * 推送U8C委外订单 + * + * @param param 原数据json + * @author liuyang + */ + public IcGeneralHResultDto sendU8cScorder(String param) throws Exception { + long startLong = System.currentTimeMillis(); + logger.info("U8C委外订单推送开始,推送参数:" + param + ",U8C_URL:" + ProfilesActiveConstant.U8C_URL); + String result = HttpRequest.post(ProfilesActiveConstant.U8C_URL).header("appId", "800037")//头信息,多个头信息多次调用此方法即可 + .header("usercode", "admin").header("password", "21232f297a57a5a743894a0e4a801fc3").header("system", "lz").header("trantype", "PK").header("apiCode", "8000370037")//头信息,多个头信息多次调用此方法即可 + .header("publicKey", "ZJYAWb7lhAUTYqekPkU+uHJv1/ObJxb7dT7sD8HPRDGAgyhCe7eDIk+3zDUT+v578prj")//头信息,多个头信息多次调用此方法即可 + .header("secretKey", "fviZnLBsQUAGF8w8FSOdJi7XlIm/XAZclMxRagDLfTyJFlvnIBF3w66Hrpfzs8cYj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA=")//头信息,多个头信息多次调用此方法即可 + .body(param)//表单内容 + .timeout(20000)//超时,毫秒 + .execute().body(); + logger.info("U8C委外订单推送结束,返回参数:" + result); + long endLong = System.currentTimeMillis(); + logger.info("U8C委外订单推送耗时:" + (endLong - startLong)); + + if (result == null) { + result = ""; + } + + JSONObject jsonObject = JSON.parseObject(result); + result = String.valueOf(jsonObject.get("attribute")); + + boolean isSuccess = false; + IcGeneralHResultDto icGeneralHResultDto = null; + if (result != null && !"".equals(result)) { + ReusltStrDto reusltStrDto = JSON.parseObject(result, ReusltStrDto.class); + if ("success".equals(reusltStrDto.getStatus())) { + icGeneralHResultDto = resultDataHandle(reusltStrDto.getData()); + isSuccess = true; + } + } + if (!isSuccess) { + Assert.state(false, "O采购入库业务推送U8C委外订单失败 接口返回结果:{}", result); + } + return icGeneralHResultDto; + } + + /** + * 返回结果解析处理,在确认了success后调用 + * + * @author liuyang + */ + private IcGeneralHResultDto resultDataHandle(String resultData) { + try { + if (resultData != null && !"".equals(resultData)) { + if (resultData.contains("[")) { + resultData = resultData.substring(1, resultData.length() - 1); + } + return JSON.parseObject(resultData, IcGeneralHResultDto.class); + } + } catch (Exception e) { + logger.error("resultDataHandle方法解析返回参数失败的错误", e); + //如果解析失败,记录原因,但是不能影响结果的记录 + } + return null; + } + + /** + * 查询采退订单 + * + * @param code 采退订单号 + * @author liuyang + */ + private PurchaseReturnOrder queryPurchaseReturnOrder(String code) throws Exception { + List headerDetailsDtoList = new ArrayList<>(); + QueryOfsSoSaleOutVo queryOfsSoSaleOutVo = new QueryOfsSoSaleOutVo(); + queryOfsSoSaleOutVo.setCode(code); + queryOfsSoSaleOutVo.setClientCode("LETS"); + queryOfsSoSaleOutVo.setPageNo(1L); + queryOfsSoSaleOutVo.setPageSize(50L); + ofsStandardUtil.queryPurchaseReturnOrder(queryOfsSoSaleOutVo, headerDetailsDtoList, 1L, "ofs.purchaseReturnOrder.search"); + if (headerDetailsDtoList.size() > 0) { + return headerDetailsDtoList.get(0); + } + Assert.state(false, "根据OFS采购订单号:{}无法查询到OFS采购订单信息", code); + return null; + } + + /** + * 2024年8月20日 15:46:10 + * 生成业务日期,以发货时间作为业务日期 + * + * @author liuyang + */ + private String createGenerateBusinessDate(ReturnOrderHeaderDto returnOrderHeaderDto) throws Exception { + if (returnOrderHeaderDto != null && returnOrderHeaderDto.getShipAt() != null) { + String shipAt = returnOrderHeaderDto.getShipAt(); + String businessFormat = null; + try { + Date dbill = DateUtil.parse(shipAt); + businessFormat = DateUtil.format(dbill, "yyyy-MM-dd"); + } catch (Exception e) { + logger.error("业务日期生成失败!", e); + } + return businessFormat; + } else { + logger.error("生成采退出库日期失败,或者shipAt为空! json:{}", JSON.toJSON(returnOrderHeaderDto)); + Assert.state(false, "生成采退出库日期失败,或者shipAt为空! json:{}", JSON.toJSON(returnOrderHeaderDto)); + return null; + } + } + + /** + * 2024年8月7日 14:58:34 + * 查询税目档案 + * + * @author liuyang + */ + private BdTaxitemsEntity queryBdTaxitems(String invcode) { + Assert.notNull(invcode, "存货编码不能为空"); + BdTaxitemsEntity bdTaxitemsEntity = TocOrderBasicArchivesCacheUtil.stringBdTaxitemsEntityHashMap.get(invcode); + Assert.notNull(bdTaxitemsEntity, "根据存货编码({}),无法匹配到税率!", invcode); + return bdTaxitemsEntity; + } + + /** + * 2024年8月20日 16:42:14 + * 查找对应的采购订单明细行 + * 2024年8月20日 17:42:15 + * 应该通过明细行主键匹配,但是只能根据sku匹配目前的实现逻辑 + * 查找OFS采购订单明细行,主要是为了带出实付金额,通过实付金额/实收数量=含税单价 + * + * @param ofsPoOrderDataDetails OFS采退订单明细行所有对象 + * @param detailsDto OFS采退入库单明细行对象 + * @author liuyang + */ + private PurchaseReturnOrderDetails findOfsPoOrderDetail(List ofsPoOrderDataDetails, DetailsDto detailsDto) { + if (ofsPoOrderDataDetails != null && ofsPoOrderDataDetails.size() > 0 && detailsDto != null) { + for (int i = 0; i < ofsPoOrderDataDetails.size(); i++) { + Assert.notNull(ofsPoOrderDataDetails.get(i).getId(), "采退订单明细行主键不能为空!"); + + Assert.notNull(detailsDto.getRefOrderDetailId(), "采退出库单明细行对应的关联采退订单的明细行主键不能为空!"); + if (ofsPoOrderDataDetails.get(i).getId().equals(detailsDto.getRefOrderDetailId())) { + return ofsPoOrderDataDetails.get(0); + } + } + } else { + logger.error("findOfsPoOrderDetail方法对应的ofsPoOrderDataDetails不能为空!否则业务目标无法完成!"); + } + Assert.state(false, "无法匹配到采退订单明细行,业务逻辑无法完成!"); + return null; + } } diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseReturn.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseReturn.java index 4efbd5cd..8db08ad9 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseReturn.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseReturn.java @@ -14,6 +14,7 @@ import com.hzya.frame.plugin.lets.entity.*; import com.hzya.frame.plugin.lets.ofsvo.QueryOfsSoSaleOutVo; import com.hzya.frame.plugin.lets.u8cdto.*; import com.hzya.frame.plugin.lets.util.OfsStandardUtil; +import com.hzya.frame.plugin.lets.util.OnlyImplementProxyOrderUtil; import com.hzya.frame.plugin.lets.util.QueryBdBusitypeUtil; import com.hzya.frame.plugin.lets.util.RdclUtil; import com.hzya.frame.ttxofs.dto.InterfaceParamDto; @@ -84,6 +85,9 @@ public class ProxyPurchaseReturn extends PluginBaseEntity { @Autowired private OfsStandardUtil ofsStandardUtil; + @Autowired + private OnlyImplementProxyOrderUtil onlyImplementProxyOrder; + @Override public void initialize() { logger.info(getPluginLabel() + "執行初始化方法initialize()"); @@ -415,6 +419,15 @@ public class ProxyPurchaseReturn extends PluginBaseEntity { HeaderDto header = headerDetailsDto.getHeader(); List details = headerDetailsDto.getDetails(); + //2024年8月22日 15:30:09 如果purchaseReturnOrder为null,那么在queryPurchaseReturnOrder会抛出异常,此处不需要验证purchaseReturnOrder是否为null + PurchaseReturnOrder purchaseReturnOrder = queryPurchaseReturnOrder(header.getRefOrderCode()); + PurchaseReturnOrderHeader header1 = purchaseReturnOrder.getHeader(); + List details1 = purchaseReturnOrder.getDetails(); + boolean checkResult = onlyImplementProxyOrder.onlyImplementProxyOrder(purchaseReturnOrder, "DLCG"); + if (!checkResult) { + continue; + } + //采购公司 String companyCode = header.getCompanyCode(); Assert.notNull(companyCode, "O表头公司不能为空"); @@ -455,11 +468,6 @@ public class ProxyPurchaseReturn extends PluginBaseEntity { Assert.state(false, "根据采购公司主键:{} 匹配到多个采购组织", bdCorpEntityList.get(0).getPkCorp()); } - //2024年8月22日 15:30:09 如果purchaseReturnOrder为null,那么在queryPurchaseReturnOrder会抛出异常,此处不需要验证purchaseReturnOrder是否为null - PurchaseReturnOrder purchaseReturnOrder = queryPurchaseReturnOrder(header.getRefOrderCode()); - PurchaseReturnOrderHeader header1 = purchaseReturnOrder.getHeader(); -// List details1 = purchaseReturnOrder.getDetails(); - //客商基本档案(供应商类型) //2024年8月20日 14:47:55 丽知商城、OFS 供应商客商档案、传递到U8C的客商, //其中自定义项1作为原系统编码,因此统一传到自定义项一,已经和大家确认好了,没有关系的,放心大胆传吧,宝贝 @@ -762,12 +770,12 @@ public class ProxyPurchaseReturn extends PluginBaseEntity { * @param returnGoodHeaderDetailsDataDtoArrayList 查询得到的采购入库单 * @author liuyang */ - private List onlyImplementProxyOrder(List returnGoodHeaderDetailsDataDtoArrayList) { - List headerDetailsDtos = new ArrayList<>(); - // TODO 2024年8月23日 10:27:40 O采购单查询接口,没有采购类型字段,虽然接口文档里有一个类似的类型 - if (returnGoodHeaderDetailsDataDtoArrayList != null && returnGoodHeaderDetailsDataDtoArrayList.size() > 0) { - - } - return headerDetailsDtos; - } +// private List onlyImplementProxyOrder(List returnGoodHeaderDetailsDataDtoArrayList) { +// List headerDetailsDtos = new ArrayList<>(); +// // TODO 2024年8月23日 10:27:40 O采购单查询接口,没有采购类型字段,虽然接口文档里有一个类似的类型 +// if (returnGoodHeaderDetailsDataDtoArrayList != null && returnGoodHeaderDetailsDataDtoArrayList.size() > 0) { +// +// } +// return headerDetailsDtos; +// } } \ No newline at end of file diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehous.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehous.java index 188fda81..d0c41eb3 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehous.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehous.java @@ -14,6 +14,7 @@ import com.hzya.frame.plugin.lets.entity.*; import com.hzya.frame.plugin.lets.ofsvo.QueryOfsSoSaleOutVo; import com.hzya.frame.plugin.lets.u8cdto.*; import com.hzya.frame.plugin.lets.util.OfsStandardUtil; +import com.hzya.frame.plugin.lets.util.OnlyImplementProxyOrderUtil; import com.hzya.frame.plugin.lets.util.QueryBdBusitypeUtil; import com.hzya.frame.plugin.lets.util.RdclUtil; import com.hzya.frame.ttxofs.dto.InterfaceParamDto; @@ -81,6 +82,9 @@ public class ProxyPurchaseWarehous extends PluginBaseEntity { @Autowired private OfsStandardUtil ofsStandardUtil; + @Autowired + private OnlyImplementProxyOrderUtil onlyImplementProxyOrder; + @Override public void initialize() { logger.info(getPluginLabel() + "執行初始化方法initialize()"); @@ -407,6 +411,14 @@ public class ProxyPurchaseWarehous extends PluginBaseEntity { StockinOrderSearchResponse.StockinOrder.StockinH header = stockinOrder.getHeader(); List details = stockinOrder.getDetails(); + //查询OFS采购订单 + OfsPoOrderData ofsPoOrderData = ofsStandardUtil.queryOfsPoOrder(header.getRefOrderCode()); + Assert.notNull(ofsPoOrderData, "根据O表头编码{},无法匹配到OFS采购订单", header.getRefOrderCode()); + boolean checkResult = onlyImplementProxyOrder.onlyImplementProxyOrder(ofsPoOrderData, "DLCG"); + if (!checkResult) { + continue; + } + //采购公司 String companyCode = header.getCompanyCode(); Assert.notNull(companyCode, "O表头公司不能为空"); @@ -505,9 +517,6 @@ public class ProxyPurchaseWarehous extends PluginBaseEntity { Assert.state(false, "根据O仓库编码+U8C收货库存组织主键,匹配到U8C仓库多个", facilityCode, bdCalbodyEntities.get(0).getPkCalbody()); } - //查询OFS采购订单 - OfsPoOrderData ofsPoOrderData = ofsStandardUtil.queryOfsPoOrder(header.getRefOrderCode()); - PoOrderSonDto poOrderSonDto = new PoOrderSonDto(); poOrderSonDto.setBdCorpEntity(bdCorpEntityList.get(0)); poOrderSonDto.setBdDeptdocEntity(bdDeptdocEntityList.get(0)); @@ -554,8 +563,6 @@ public class ProxyPurchaseWarehous extends PluginBaseEntity { * @author liuyang */ private String createGenerateBusinessDate(PoOrderSonDto poOrderSonDto) { - //TODO 测试 - poOrderSonDto.setShipAt("2024-08-19"); if (poOrderSonDto != null && poOrderSonDto.getShipAt() != null) { String shipAt = poOrderSonDto.getShipAt(); String businessFormat = null; @@ -689,17 +696,4 @@ public class ProxyPurchaseWarehous extends PluginBaseEntity { } return null; } - - /** - * 仅保留代理品牌的采退出库单 - * - * @author liuyang - */ - private List onlyImplementProxyOrder(List returnGoodHeaderDetailsDataDtoArrayList) { - List stockinOrderList = new ArrayList<>(); - if (returnGoodHeaderDetailsDataDtoArrayList != null && returnGoodHeaderDetailsDataDtoArrayList.size() > 0) { - - } - return stockinOrderList; - } } \ No newline at end of file diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/u8cdto/ReturnOrderHeaderDto.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/u8cdto/ReturnOrderHeaderDto.java new file mode 100644 index 00000000..1ce0b66f --- /dev/null +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/u8cdto/ReturnOrderHeaderDto.java @@ -0,0 +1,60 @@ +package com.hzya.frame.plugin.lets.u8cdto; + +import com.hzya.frame.plugin.lets.entity.*; +import com.hzya.frame.ttxofs.dto.ofspurchasereturnorder.PurchaseReturnOrder; +import com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.DetailsDto; +import com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.HeaderDto; +import lombok.Data; + +import java.util.List; + +/** + * @Author:liuyang + * @Package:com.hzya.frame.plugin.lets.u8cdto + * @Project:kangarooDataCenterV3 + * @name:OrderOutTobHeaderDto + * @Date:2024/8/12 18:07 + * @Filename:OrderOutTobHeaderDto + */ +@Data +public class ReturnOrderHeaderDto extends HeaderDto { + /** + * OFS采购订单 + */ + private PurchaseReturnOrder purchaseReturnOrder; + + /** + * 委外订单公司 + */ + private BdCorpEntity bdCorpEntity; + + /** + * 库存组织 + */ + private BdCalbodyEntity bdCalbodyEntity; + + /** + * 供应商基本档案 + */ + private BdCubasdocEntity bdCubasdocEntity; + + /** + * 供应商管理档案 + */ + private BdCumandocEntity bdCumandocEntity; + + /** + * 采购组织 + */ + private BdPurorgEntity bdPurorgEntity; + + /** + * 业务流程 + */ + private BdBusitypeEntity bdBusitypeEntity; + + /** + * OFS采退出库单明细行 + */ + private List details; +} \ No newline at end of file diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/u8cdto/ScorderBodyDto.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/u8cdto/ScorderBodyDto.java new file mode 100644 index 00000000..fa434167 --- /dev/null +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/u8cdto/ScorderBodyDto.java @@ -0,0 +1,95 @@ +package com.hzya.frame.plugin.lets.u8cdto; + +import lombok.Data; + +/** + * @Author:liuyang + * @Package:com.hzya.frame.plugin.lets.u8cdto + * @Project:kangarooDataCenterV3 + * @name:ScorderHeadDto + * @Date:2024/8/26 17:14 + * @Filename:ScorderHeadDto + */ +@Data +public class ScorderBodyDto { + private String bisactive; + private String bomversion; + private String cassistunit; + private String ccurrencytypeid; + private String cmangid; + private String corder_bid; + private String cordersource; + private String cprojectid; + private String cprojectphaseid; + private String csourcebillcode; + private String csourcebillid; + private String csourcebillrow; + private String csourcebillrowno; + private String cupsourcebillid; + private String cupsourcebillrowid; + private String cupsourcebilltype; + private String cwarehouseid; + private String dplanarrvdate; + private String nassistnum; + private String ndiscountrate; + private String nexchangeotobrate; + private String nmoney; + private String nordernum; + private String norgnettaxprice; + private String norgtaxprice; + private String noriginalcurmny; + private String noriginalcurprice; + private String noriginalnetprice; + private String noriginalsummny; + private String noriginaltaxmny; + private String nsummny; + private String ntaxmny; + private String ntaxrate; + private String pk_defdoc1; + private String pk_defdoc10; + private String pk_defdoc11; + private String pk_defdoc12; + private String pk_defdoc13; + private String pk_defdoc14; + private String pk_defdoc15; + private String pk_defdoc16; + private String pk_defdoc17; + private String pk_defdoc18; + private String pk_defdoc19; + private String pk_defdoc2; + private String pk_defdoc20; + private String pk_defdoc3; + private String pk_defdoc4; + private String pk_defdoc5; + private String pk_defdoc6; + private String pk_defdoc7; + private String pk_defdoc8; + private String pk_defdoc9; + private String vdef1; + private String vdef10; + private String vdef11; + private String vdef12; + private String vdef13; + private String vdef14; + private String vdef15; + private String vdef16; + private String vdef17; + private String vdef18; + private String vdef19; + private String vdef2; + private String vdef20; + private String vdef3; + private String vdef4; + private String vdef5; + private String vdef6; + private String vdef7; + private String vdef8; + private String vdef9; + private String vfree1; + private String vfree2; + private String vfree3; + private String vfree4; + private String vfree5; + private String vmemo; + private String vproducenum; +} \ No newline at end of file diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/u8cdto/ScorderDto.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/u8cdto/ScorderDto.java new file mode 100644 index 00000000..d079eb63 --- /dev/null +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/u8cdto/ScorderDto.java @@ -0,0 +1,19 @@ +package com.hzya.frame.plugin.lets.u8cdto; + +import lombok.Data; + +import java.util.List; + +/** + * @Author:liuyang + * @Package:com.hzya.frame.plugin.lets.u8cdto + * @Project:kangarooDataCenterV3 + * @name:ScorderHeadDto + * @Date:2024/8/26 17:14 + * @Filename:ScorderHeadDto + */ +@Data +public class ScorderDto { + private ScorderHeadDto parentvo; + private List childrenvo; +} \ No newline at end of file diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/u8cdto/ScorderHeadDto.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/u8cdto/ScorderHeadDto.java new file mode 100644 index 00000000..48a1fd48 --- /dev/null +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/u8cdto/ScorderHeadDto.java @@ -0,0 +1,70 @@ +package com.hzya.frame.plugin.lets.u8cdto; + +import lombok.Data; + +/** + * @Author:liuyang + * @Package:com.hzya.frame.plugin.lets.u8cdto + * @Project:kangarooDataCenterV3 + * @name:ScorderHeadDto + * @Date:2024/8/26 17:14 + * @Filename:ScorderHeadDto + */ +@Data +public class ScorderHeadDto { + private String caccountbankid; + private String cbiztype; + private String cdeptid; + private String cemployeeid; + private String cgiveinvoicevendor; + private String coperator; + private String corderid; + private String cpurorganization; + private String creciever; + private String cvendormangid; + private String cwareid; + private String dorderdate; + private String pk_corp; + private String pk_defdoc1; + private String pk_defdoc10; + private String pk_defdoc11; + private String pk_defdoc12; + private String pk_defdoc13; + private String pk_defdoc14; + private String pk_defdoc15; + private String pk_defdoc16; + private String pk_defdoc17; + private String pk_defdoc18; + private String pk_defdoc19; + private String pk_defdoc2; + private String pk_defdoc20; + private String pk_defdoc3; + private String pk_defdoc4; + private String pk_defdoc5; + private String pk_defdoc6; + private String pk_defdoc7; + private String pk_defdoc8; + private String pk_defdoc9; + private String vdef1; + private String vdef10; + private String vdef11; + private String vdef12; + private String vdef13; + private String vdef14; + private String vdef15; + private String vdef16; + private String vdef17; + private String vdef18; + private String vdef19; + private String vdef2; + private String vdef20; + private String vdef3; + private String vdef4; + private String vdef5; + private String vdef6; + private String vdef7; + private String vdef8; + private String vdef9; + private String vmemo; + private String vordercode; +} diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/util/OnlyImplementProxyOrderUtil.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/util/OnlyImplementProxyOrderUtil.java new file mode 100644 index 00000000..f5bc7ab2 --- /dev/null +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/util/OnlyImplementProxyOrderUtil.java @@ -0,0 +1,66 @@ +package com.hzya.frame.plugin.lets.util; + +import cn.hutool.core.lang.Assert; +import com.hzya.frame.plugin.lets.plugin.purchase.ProxyPurchaseWarehous; +import com.hzya.frame.ttxofs.dto.ofspoorder.OfsPoOrderData; +import com.hzya.frame.ttxofs.dto.ofspoorder.OfsPoOrderDetails; +import com.hzya.frame.ttxofs.dto.ofspoorder.OfsPoOrderHeader; +import com.hzya.frame.ttxofs.dto.ofspurchasereturnorder.PurchaseReturnOrder; +import com.hzya.frame.ttxofs.dto.ofspurchasereturnorder.PurchaseReturnOrderDetails; +import com.hzya.frame.ttxofs.dto.ofspurchasereturnorder.PurchaseReturnOrderHeader; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * @Author:liuyang + * @Package:com.hzya.frame.plugin.lets.util + * @Project:kangarooDataCenterV3 + * @name:OnlyImplementProxyOrderUtil + * @Date:2024/8/27 13:43 + * @Filename:OnlyImplementProxyOrderUtil + */ +@Component +public class OnlyImplementProxyOrderUtil { + + Logger logger = LoggerFactory.getLogger(OnlyImplementProxyOrderUtil.class); + + /** + * 判断是代理品牌采购还是委外加工(采购订单) + * + * @author liuyang + */ + public boolean onlyImplementProxyOrder(OfsPoOrderData ofsPoOrderData, String targetName) { + Assert.state(ofsPoOrderData != null, "ofsPoOrderData不能为空!"); + OfsPoOrderHeader header = ofsPoOrderData.getHeader(); + List details = ofsPoOrderData.getDetails(); + + String purchaseOrderType = header.getPurchaseOrderType(); +// String targetName = "DLCG"; + if (targetName.equals(purchaseOrderType)) { + return true; + } + logger.info("采购订单单号:{} 为:{}不触发代理品牌采购业务流程", header.getCode(), purchaseOrderType); + return false; + } + + /** + * 判断是代理品牌采购还是委外加工(采退订单) + * + * @author liuyang + */ + public boolean onlyImplementProxyOrder(PurchaseReturnOrder purchaseReturnOrder, String targetName) { + Assert.state(purchaseReturnOrder != null, "ofsPoOrderData不能为空!"); + PurchaseReturnOrderHeader header = purchaseReturnOrder.getHeader(); + List details = purchaseReturnOrder.getDetails(); + + String purchaseOrderType = header.getPurchaseOrderType(); + if (targetName.equals(purchaseOrderType)) { + return true; + } + logger.info("采购订单单号:{} 为:{}不触发代理品牌采购业务流程", header.getCode(), purchaseOrderType); + return false; + } +} diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/masterData/dao/IMdmDao.java b/buildpackage/src/main/java/com/hzya/frame/plugin/masterData/dao/IMdmDao.java deleted file mode 100644 index b69adb80..00000000 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/masterData/dao/IMdmDao.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.hzya.frame.plugin.masterData.dao; - -import com.hzya.frame.basedao.dao.IBaseDao; -import com.hzya.frame.plugin.masterData.entity.MdmEntity; - -/** - * 客户档案(mdm_customer: table)表数据库访问层 - * - * @author makejava - * @since 2024-06-21 13:52:35 - */ -public interface IMdmDao extends IBaseDao { - -} - diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/masterData/dao/impl/MdmDaoImpl.java b/buildpackage/src/main/java/com/hzya/frame/plugin/masterData/dao/impl/MdmDaoImpl.java deleted file mode 100644 index 05e95b1e..00000000 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/masterData/dao/impl/MdmDaoImpl.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.hzya.frame.plugin.masterData.dao.impl; - -import com.hzya.frame.plugin.masterData.entity.MdmEntity; -import com.hzya.frame.plugin.masterData.dao.IMdmDao; -import com.hzya.frame.basedao.dao.MybatisGenericDao; -/** - * 客户档案(MdmCustomer)表数据库访问层 - * - * @author makejava - * @since 2024-06-21 13:52:35 - */ -public class MdmDaoImpl extends MybatisGenericDao implements IMdmDao { - -} - diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/masterData/entity/MdmEntity.java b/buildpackage/src/main/java/com/hzya/frame/plugin/masterData/entity/MdmEntity.java deleted file mode 100644 index e8d7f6f9..00000000 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/masterData/entity/MdmEntity.java +++ /dev/null @@ -1,186 +0,0 @@ -package com.hzya.frame.plugin.masterData.entity; - -import java.util.Date; -import com.hzya.frame.web.entity.BaseEntity; -/** - * 客户档案(MdmCustomer)实体类 - * - * @author makejava - * @since 2024-06-21 13:52:35 - */ -public class MdmEntity extends BaseEntity { - - /** 单据规则 */ - private String documentRule; - /** 单据规则流水号 */ - private Long documentRuleNum; - /** 数据状态 Y正常 N删除 F修改 */ - private String dataStatus; - /** 新增数据状态 0待下发 1已下发 */ - private String addStatus; - /** 修改数据状态 0待下发 1已下发 */ - private String updateStatus; - /** 删除数据状态 0待下发 1已下发 */ - private String deleteStatus; - /** 公司id */ - private String companyId; - /** 客户编码 */ - private String code; - /** 客户类型 */ - private String custprop; - /** 客户状态 */ - private String custstate; - /** 启用状态 */ - private String enablestate; - /** 客户名称 */ - private String name; - /** 国家/地区 */ - private String pkCountry; - /** 客户基本分类 */ - private String pkCustclass; - /** 所属集团 */ - private String pkGroup; - /** 所属组织 */ - private String pkOrg; - /** 纳税人登记号 */ - private String taxpayerid; - - - public String getDocumentRule() { - return documentRule; - } - - public void setDocumentRule(String documentRule) { - this.documentRule = documentRule; - } - - public Long getDocumentRuleNum() { - return documentRuleNum; - } - - public void setDocumentRuleNum(Long documentRuleNum) { - this.documentRuleNum = documentRuleNum; - } - - public String getDataStatus() { - return dataStatus; - } - - public void setDataStatus(String dataStatus) { - this.dataStatus = dataStatus; - } - - public String getAddStatus() { - return addStatus; - } - - public void setAddStatus(String addStatus) { - this.addStatus = addStatus; - } - - public String getUpdateStatus() { - return updateStatus; - } - - public void setUpdateStatus(String updateStatus) { - this.updateStatus = updateStatus; - } - - public String getDeleteStatus() { - return deleteStatus; - } - - public void setDeleteStatus(String deleteStatus) { - this.deleteStatus = deleteStatus; - } - - public String getCompanyId() { - return companyId; - } - - public void setCompanyId(String companyId) { - this.companyId = companyId; - } - - public String getCode() { - return code; - } - - public void setCode(String code) { - this.code = code; - } - - public String getCustprop() { - return custprop; - } - - public void setCustprop(String custprop) { - this.custprop = custprop; - } - - public String getCuststate() { - return custstate; - } - - public void setCuststate(String custstate) { - this.custstate = custstate; - } - - public String getEnablestate() { - return enablestate; - } - - public void setEnablestate(String enablestate) { - this.enablestate = enablestate; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getPkCountry() { - return pkCountry; - } - - public void setPkCountry(String pkCountry) { - this.pkCountry = pkCountry; - } - - public String getPkCustclass() { - return pkCustclass; - } - - public void setPkCustclass(String pkCustclass) { - this.pkCustclass = pkCustclass; - } - - public String getPkGroup() { - return pkGroup; - } - - public void setPkGroup(String pkGroup) { - this.pkGroup = pkGroup; - } - - public String getPkOrg() { - return pkOrg; - } - - public void setPkOrg(String pkOrg) { - this.pkOrg = pkOrg; - } - - public String getTaxpayerid() { - return taxpayerid; - } - - public void setTaxpayerid(String taxpayerid) { - this.taxpayerid = taxpayerid; - } - -} - diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/masterData/entity/MdmEntity.xml b/buildpackage/src/main/java/com/hzya/frame/plugin/masterData/entity/MdmEntity.xml deleted file mode 100644 index 46d5962b..00000000 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/masterData/entity/MdmEntity.xml +++ /dev/null @@ -1,375 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - id - ,document_rule - ,document_rule_num - ,data_status - ,add_status - ,update_status - ,delete_status - ,sorts - ,create_user_id - ,create_time - ,modify_user_id - ,modify_time - ,sts - ,org_id - ,company_id - ,code - ,custprop - ,custstate - ,enablestate - ,name - ,pk_country - ,pk_custclass - ,pk_group - ,pk_org - ,taxpayerid - - - - - - - - - - - - - - - - insert into mdm_customer( - - id , - document_rule , - document_rule_num , - data_status , - add_status , - update_status , - delete_status , - sorts , - create_user_id , - create_time , - modify_user_id , - modify_time , - sts , - org_id , - company_id , - code , - custprop , - custstate , - enablestate , - name , - pk_country , - pk_custclass , - pk_group , - pk_org , - taxpayerid , - sts, - - )values( - - #{id} , - #{documentRule} , - #{documentRuleNum} , - #{dataStatus} , - #{addStatus} , - #{updateStatus} , - #{deleteStatus} , - #{sorts} , - #{create_user_id} , - #{create_time} , - #{modify_user_id} , - #{modify_time} , - #{sts} , - #{org_id} , - #{companyId} , - #{code} , - #{custprop} , - #{custstate} , - #{enablestate} , - #{name} , - #{pkCountry} , - #{pkCustclass} , - #{pkGroup} , - #{pkOrg} , - #{taxpayerid} , - 'Y', - - ) - - - - insert into mdm_customer(document_rule, document_rule_num, data_status, add_status, update_status, delete_status, create_user_id, create_time, modify_user_id, modify_time, sts, org_id, company_id, code, custprop, custstate, enablestate, name, pk_country, pk_custclass, pk_group, pk_org, taxpayerid, sts) - values - - (#{entity.documentRule},#{entity.documentRuleNum},#{entity.dataStatus},#{entity.addStatus},#{entity.updateStatus},#{entity.deleteStatus},#{entity.create_user_id},#{entity.create_time},#{entity.modify_user_id},#{entity.modify_time},#{entity.sts},#{entity.org_id},#{entity.companyId},#{entity.code},#{entity.custprop},#{entity.custstate},#{entity.enablestate},#{entity.name},#{entity.pkCountry},#{entity.pkCustclass},#{entity.pkGroup},#{entity.pkOrg},#{entity.taxpayerid}, 'Y') - - - - - insert into mdm_customer(document_rule, document_rule_num, data_status, add_status, update_status, delete_status, create_user_id, create_time, modify_user_id, modify_time, sts, org_id, company_id, code, custprop, custstate, enablestate, name, pk_country, pk_custclass, pk_group, pk_org, taxpayerid) - values - - (#{entity.documentRule},#{entity.documentRuleNum},#{entity.dataStatus},#{entity.addStatus},#{entity.updateStatus},#{entity.deleteStatus},#{entity.create_user_id},#{entity.create_time},#{entity.modify_user_id},#{entity.modify_time},#{entity.sts},#{entity.org_id},#{entity.companyId},#{entity.code},#{entity.custprop},#{entity.custstate},#{entity.enablestate},#{entity.name},#{entity.pkCountry},#{entity.pkCustclass},#{entity.pkGroup},#{entity.pkOrg},#{entity.taxpayerid}) - - on duplicate key update - document_rule = values(document_rule), - document_rule_num = values(document_rule_num), - data_status = values(data_status), - add_status = values(add_status), - update_status = values(update_status), - delete_status = values(delete_status), - create_user_id = values(create_user_id), - create_time = values(create_time), - modify_user_id = values(modify_user_id), - modify_time = values(modify_time), - sts = values(sts), - org_id = values(org_id), - company_id = values(company_id), - code = values(code), - custprop = values(custprop), - custstate = values(custstate), - enablestate = values(enablestate), - name = values(name), - pk_country = values(pk_country), - pk_custclass = values(pk_custclass), - pk_group = values(pk_group), - pk_org = values(pk_org), - taxpayerid = values(taxpayerid) - - -update mdm_customer set - - document_rule = #{documentRule}, - document_rule_num = #{documentRuleNum}, - data_status = #{dataStatus}, - add_status = #{addStatus}, - update_status = #{updateStatus}, - delete_status = #{deleteStatus}, - create_user_id = #{create_user_id}, - create_time = #{create_time}, - modify_user_id = #{modify_user_id}, - modify_time = #{modify_time}, - sts = #{sts}, - org_id = #{org_id}, - company_id = #{companyId}, - code = #{code}, - custprop = #{custprop}, - custstate = #{custstate}, - enablestate = #{enablestate}, - name = #{name}, - pk_country = #{pkCountry}, - pk_custclass = #{pkCustclass}, - pk_group = #{pkGroup}, - pk_org = #{pkOrg}, - taxpayerid = #{taxpayerid}, - -where id = #{id} - - - -update mdm_customer set sts= 'N' ,modify_time = #{modify_time},modify_user_id = #{modify_user_id} -where id = #{id} - - - -update mdm_customer set sts= 'N' ,modify_time = #{modify_time},modify_user_id = #{modify_user_id} - - and id = #{id} - and document_rule = #{documentRule} - and document_rule_num = #{documentRuleNum} - and data_status = #{dataStatus} - and add_status = #{addStatus} - and update_status = #{updateStatus} - and delete_status = #{deleteStatus} - and sorts = #{sorts} - and sts = #{sts} - and company_id = #{companyId} - and code = #{code} - and custprop = #{custprop} - and custstate = #{custstate} - and enablestate = #{enablestate} - and name = #{name} - and pk_country = #{pkCountry} - and pk_custclass = #{pkCustclass} - and pk_group = #{pkGroup} - and pk_org = #{pkOrg} - and taxpayerid = #{taxpayerid} - and sts='Y' - - - - - delete from mdm_customer where id = #{id} - - - - diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/masterData/plugin/MdmPluginInitializer.java b/buildpackage/src/main/java/com/hzya/frame/plugin/masterData/plugin/MdmPluginInitializer.java deleted file mode 100644 index 02577f11..00000000 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/masterData/plugin/MdmPluginInitializer.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.hzya.frame.plugin.masterData.plugin; -import com.alibaba.fastjson.JSONObject; -import com.hzya.frame.base.PluginBaseEntity; -import com.hzya.frame.sysnew.comparison.masterData.service.IMasterDataService; -import com.hzya.frame.web.entity.JsonResultEntity; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; - -/** - * 主数据同步 - * - * @author makejava - * @since 2024-06-21 13:52:35 - */ -public class MdmPluginInitializer extends PluginBaseEntity{ - Logger logger = LoggerFactory.getLogger(MdmPluginInitializer.class); - @Autowired - private IMasterDataService masterDataService; - - @Override - public void initialize() { - logger.info(getPluginLabel() + "執行初始化方法initialize()"); - } - - @Override - public void destroy() { - logger.info(getPluginLabel() + "執行銷毀方法destroy()"); - } - - @Override - public String getPluginId() { - return "MdmCustomerPlugin"; - } - - @Override - public String getPluginName() { - return "MdmCustomerPlugin插件"; - } - - @Override - public String getPluginLabel() { - return "MdmCustomerPlugin"; - } - - @Override - public String getPluginType() { - return "1"; - } - @Override - public JsonResultEntity executeBusiness(JSONObject requestJson) { - try { - logger.info("======开始执行主数据信息同步========"); - return masterDataService.queryArchives(requestJson); - }catch (Exception e){ - logger.info("======执行主数据同步失败:{}========",e.getMessage()); - e.printStackTrace(); - } - return null; - } -} diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/masterData/service/IMdmService.java b/buildpackage/src/main/java/com/hzya/frame/plugin/masterData/service/IMdmService.java deleted file mode 100644 index 175d0616..00000000 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/masterData/service/IMdmService.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.hzya.frame.plugin.masterData.service; - -import com.hzya.frame.plugin.masterData.entity.MdmEntity; -import com.hzya.frame.basedao.service.IBaseService; -/** - * 客户档案(MdmCustomer)表服务接口 - * - * @author makejava - * @since 2024-06-21 13:52:35 - */ -public interface IMdmService extends IBaseService{ -} diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/masterData/service/impl/MdmServiceImpl.java b/buildpackage/src/main/java/com/hzya/frame/plugin/masterData/service/impl/MdmServiceImpl.java deleted file mode 100644 index e1016019..00000000 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/masterData/service/impl/MdmServiceImpl.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.hzya.frame.plugin.masterData.service.impl; - -import com.hzya.frame.plugin.masterData.entity.MdmEntity; -import com.hzya.frame.plugin.masterData.dao.IMdmDao; -import com.hzya.frame.plugin.masterData.service.IMdmService; -import com.hzya.frame.plugin.masterData.service.IMdmService; -import org.springframework.beans.factory.annotation.Autowired; -import com.hzya.frame.basedao.service.impl.BaseService; -/** - * 客户档案(MdmCustomer)表服务实现类 - * - * @author makejava - * @since 2024-06-21 13:52:35 - */ -public class MdmServiceImpl extends BaseService implements IMdmService { - - private IMdmDao mdmCustomerDao; - - @Autowired - public void setMdmCustomerDao(IMdmDao dao) { - this.mdmCustomerDao = dao; - this.dao = dao; - } -} diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/mdmDistribute/plugin/MdmModulePluginInitializer.java b/buildpackage/src/main/java/com/hzya/frame/plugin/mdmDistribute/plugin/MdmModulePluginInitializer.java deleted file mode 100644 index 3657beac..00000000 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/mdmDistribute/plugin/MdmModulePluginInitializer.java +++ /dev/null @@ -1,1476 +0,0 @@ -package com.hzya.frame.plugin.mdmDistribute.plugin; - -import cn.dev33.satoken.stp.StpUtil; -import cn.hutool.core.util.StrUtil; -import cn.hutool.json.JSONUtil; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import com.hzya.frame.base.PluginBaseEntity; -import com.hzya.frame.mdm.mdmModule.dao.IMdmModuleDao; -import com.hzya.frame.mdm.mdmModule.entity.MdmModuleEntity; -import com.hzya.frame.mdm.mdmModuleDb.entity.MdmModuleDbEntity; -import com.hzya.frame.mdm.mdmModuleDbFileds.entity.MdmModuleDbFiledsEntity; -import com.hzya.frame.mdm.mdmModuleDbFiledsRule.dao.IMdmModuleDbFiledsRuleDao; -import com.hzya.frame.mdm.mdmModuleDbFiledsRule.entity.MdmModuleDbFiledsRuleEntity; -import com.hzya.frame.mdm.mdmModuleDistribute.dao.IMdmModuleDistributeDao; -import com.hzya.frame.mdm.mdmModuleDistribute.entity.MdmModuleDistributeEntity; -import com.hzya.frame.mdm.mdmModuleDistributeDetail.dao.IMdmModuleDistributeDetailDao; -import com.hzya.frame.mdm.mdmModuleDistributeDetail.entity.MdmModuleDistributeDetailEntity; -import com.hzya.frame.mdm.mdmModuleDistributeTripartite.dao.IMdmModuleDistributeTripartiteDao; -import com.hzya.frame.mdm.mdmModuleDistributeTripartite.entity.MdmModuleDistributeTripartiteEntity; -import com.hzya.frame.mdm.mdmModuleSendLog.dao.IMdmModuleSendLogDao; -import com.hzya.frame.mdm.mdmModuleSendLog.entity.MdmModuleSendLogEntity; -import com.hzya.frame.mdm.service.IMdmServiceCache; -import com.hzya.frame.sys.sysenum.SysEnum; -import com.hzya.frame.sysnew.application.api.dao.ISysApplicationApiDao; -import com.hzya.frame.sysnew.application.api.entity.SysApplicationApiEntity; -import com.hzya.frame.sysnew.application.dao.ISysApplicationDao; -import com.hzya.frame.sysnew.application.entity.SysApplicationEntity; -import com.hzya.frame.sysnew.application.script.dao.ISysApplicationScriptDao; -import com.hzya.frame.sysnew.application.script.entity.SysApplicationScriptEntity; -import com.hzya.frame.sysnew.grovy.service.IGroovyIntegrationService; -import com.hzya.frame.sysnew.integtationTaskLivingDetails.entity.IntegrationTaskLivingDetailsEntity; -import com.hzya.frame.sysnew.integtationTaskLivingDetails.service.IIntegrationTaskLivingDetailsService; -import com.hzya.frame.uuid.UUIDUtils; -import com.hzya.frame.web.entity.BaseResult; -import com.hzya.frame.web.entity.JsonResultEntity; -import org.apache.http.HttpEntity; -import org.apache.http.client.config.RequestConfig; -import org.apache.http.client.methods.CloseableHttpResponse; -import org.apache.http.client.methods.HttpPost; -import org.apache.http.entity.ByteArrayEntity; -import org.apache.http.impl.client.CloseableHttpClient; -import org.apache.http.impl.client.HttpClientBuilder; -import org.apache.http.util.EntityUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Value; - -import javax.annotation.Resource; -import java.io.IOException; -import java.util.*; - -/** - * 主数据模版(MdmModule)表服务接口 - * - * @author makejava - * @since 2024-06-18 10:33:32 - */ -public class MdmModulePluginInitializer extends PluginBaseEntity { - Logger logger = LoggerFactory.getLogger(MdmModulePluginInitializer.class); - @Resource - private IMdmModuleDistributeDetailDao mdmModuleDistributeDetailDao; - @Resource - private IIntegrationTaskLivingDetailsService taskLivingDetailsService; - @Resource - private ISysApplicationApiDao sysApplicationApiDao; - @Resource - private ISysApplicationDao sysApplicationDao; - @Resource - private ISysApplicationScriptDao sysApplicationScriptDao; - @Resource - private IMdmModuleDistributeDao mdmModuleDistributeDao; - @Resource - private IGroovyIntegrationService groovyIntegrationService; - @Resource - private IMdmModuleDbFiledsRuleDao mdmModuleDbFiledsRuleDao; - @Resource - private IMdmModuleDao mdmModuleDao; - @Resource - private IMdmServiceCache mdmServiceCache; - @Resource - private IMdmModuleSendLogDao mdmModuleSendLogDao; - @Resource - private IMdmModuleDistributeTripartiteDao mdmModuleDistributeTripartiteDao; - @Value("${zt.url}") - private String url ; - - //多线程请求加锁 HttpRequest 构造方法是静态的 - private final Object lock = new Object(); - @Override - public void initialize() { - logger.info(getPluginLabel() + "執行初始化方法initialize()"); - } - - @Override - public void destroy() { - logger.info(getPluginLabel() + "執行銷毀方法destroy()"); - } - - @Override - public String getPluginId() { - return "MdmModulePlugin"; - } - - @Override - public String getPluginName() { - return "主数据下发"; - } - - @Override - public String getPluginLabel() { - return "MdmModulePlugin"; - } - - @Override - public String getPluginType() { - return "1"; - } - - @Override - public JsonResultEntity executeBusiness(JSONObject requestJson) { - try{ - //重试方法 - if (null != requestJson) { - //如果这个id不为空,说明是重试的 - String id = requestJson.getString("integration_task_living_details_id"); - //执行重新发送 - if (StrUtil.isNotEmpty(id)) { - //查询日志表 - IntegrationTaskLivingDetailsEntity taskDetailEntity = taskLivingDetailsService.get(id); - if (null != taskDetailEntity && JSONUtil.isTypeJSON(taskDetailEntity.getRootAppPk())){ - //拿到这张表的源系统ID - JSONObject jsonObject = JSONObject.parseObject(taskDetailEntity.getRootAppPk()); - Long mdmCode = jsonObject.getLong("mdmCode");//主数据编码 - String documentRule = jsonObject.getString("documentRule");//行数据的单据规则编码 - String distributeId = jsonObject.getString("distributeId");//发送表id - String type = jsonObject.getString("type");//发送类型,1、新增2、修改3、删除 - if(mdmCode == null || documentRule == null || distributeId == null || type == null - || "".equals(mdmCode) || "".equals(documentRule) || "".equals(distributeId) || "".equals(type)){ - taskDetailEntity.setResult("系统保存参数错误"); - taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity); - return BaseResult.getFailureMessageEntity("系统保存参数错误"); - } - String apiId = null; - String scriptId = null; - //查找对应数据,组装数据发送 - - //获取主数据信息 - MdmModuleEntity mdmModuleEntity = mdmServiceCache.getMdmModuleEntity(mdmCode); - if(mdmModuleEntity == null || mdmModuleEntity.getId() == null ){ - taskDetailEntity.setResult("主数据不存在"); - taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity); - return BaseResult.getFailureMessageEntity("主数据不存在"); - - } - - //获取主数据db - MdmModuleDbEntity mdmModuleDbEntity = new MdmModuleDbEntity(); - mdmModuleDbEntity.setMdmId(mdmModuleEntity.getId()); - List mdmModuleDbEntities = mdmServiceCache.queryMdmModuleDb(mdmModuleDbEntity); - if(mdmModuleDbEntities == null || mdmModuleDbEntities.size() == 0){ - taskDetailEntity.setResult("主数据数据源不存在"); - taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity); - return BaseResult.getFailureMessageEntity("主数据数据源不存在"); - - } - - //获取分发表 - //获取分发的接口 - MdmModuleDistributeEntity mdmModuleDistributeEntity = mdmModuleDistributeDao.get(distributeId); - if(mdmModuleDistributeEntity == null || mdmModuleDistributeEntity.getId() == null ){ - taskDetailEntity.setResult("分发不存在"); - taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity); - return BaseResult.getFailureMessageEntity("分发不存在"); - - } - // 启用停用 0、停用 - if("0".equals(mdmModuleDistributeEntity.getEnabledState())){ - taskDetailEntity.setResult("分发已停用"); - taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity); - return BaseResult.getFailureMessageEntity("分发已停用"); - - } - MdmModuleDistributeDetailEntity mdmModuleDistributeDetailEntity = new MdmModuleDistributeDetailEntity() ; - mdmModuleDistributeDetailEntity.setDistributeId(distributeId); - mdmModuleDistributeDetailEntity.setSts("Y"); - List mdmModuleDistributeDetailEntities = mdmModuleDistributeDetailDao.queryBase(mdmModuleDistributeDetailEntity); - - // 启用停用 0、停用 - //if("1".equals(mdmModuleDistributeEntity.getEnabledType())){ - // taskDetailEntity.setResult("分发为手动下发"); - // taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity); - // return BaseResult.getFailureMessageEntity("分发为手动下发"); - //} - //1、新增2、修改3、删除 - if("1".equals(type)){ - apiId = mdmModuleDistributeEntity.getAddApi(); - scriptId = mdmModuleDistributeEntity.getAddScript(); - }else if("2".equals(type)){ - apiId = mdmModuleDistributeEntity.getUpdateApi(); - scriptId = mdmModuleDistributeEntity.getUpdateScript(); - - }else if("3".equals(type)){ - apiId = mdmModuleDistributeEntity.getDeleteApi(); - scriptId = mdmModuleDistributeEntity.getDeleteScript(); - } - if(apiId == null || "".equals(apiId)){ - taskDetailEntity.setResult("分发接口未选择,请先选择"); - taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity); - return BaseResult.getFailureMessageEntity("分发接口未选择,请先选择"); - - } - SysApplicationScriptEntity scriptEntity = null; - if(scriptId != null && !"".equals(scriptId)){ - scriptEntity = sysApplicationScriptDao.get(scriptId); - if(scriptEntity == null || scriptEntity.getId() == null ){ - taskDetailEntity.setResult("分发接口脚本不存在"); - taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity); - return BaseResult.getFailureMessageEntity("分发接口脚本不存在"); - } - } - SysApplicationApiEntity apiEntity = sysApplicationApiDao.get(apiId); - if(apiEntity == null || apiEntity.getId() == null ){ - taskDetailEntity.setResult("分发接口不存在"); - taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity); - return BaseResult.getFailureMessageEntity("分发接口不存在"); - - } - SysApplicationEntity sysApplicationEntity = sysApplicationDao.get(apiEntity.getAppId()); - if(sysApplicationEntity == null || sysApplicationEntity.getId() == null ){ - taskDetailEntity.setResult("应用不存在"); - taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity); - return BaseResult.getFailureMessageEntity("应用不存在"); - } - - //获取主数据db字段,以及字段的规则 - MdmModuleDbFiledsEntity queryFild = new MdmModuleDbFiledsEntity(); - queryFild.setMdmId(mdmModuleEntity.getId()); - List mdmModuleDbFiledsEntities = mdmServiceCache.queryMdmModuleDbFileds(queryFild); - MdmModuleDbFiledsRuleEntity queryFildRule = new MdmModuleDbFiledsRuleEntity(); - queryFildRule.setMdmId(mdmModuleEntity.getId()); - queryFildRule.setRuleCode("service"); - List mdmModuleDbFiledsRuleEntities = mdmModuleDbFiledsRuleDao.queryBase(queryFildRule); - - //获取主数据db对应的实体表的数据 - JSONObject object = new JSONObject(); - for (int i = 0; i < mdmModuleDbEntities.size(); i++) { - if("1".equals(mdmModuleDbEntities.get(i).getDbType())){ - Map map = new HashMap<>(); - map.put("tableName",mdmModuleDbEntities.get(i).getDbName()); - map.put("documentRule",documentRule); - object = mdmModuleDao.queryMdmST(map); - object = toLowerCaseKeys(object); - if(object.getString("id") == null || "".equals(object.getString("id")) ){ - taskDetailEntity.setResult("当前数据不存在"); - taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity); - return BaseResult.getFailureMessageEntity("当前数据不存在"); - } - if(mdmModuleDistributeDetailEntities != null && mdmModuleDistributeDetailEntities.size() > 0){ - Map checkData = new HashMap<>(); - checkData.put("tableName",mdmModuleDbEntities.get(i).getDbName()); - checkData.put("documentRule",documentRule); - checkData.put("mdmModuleDistributeDetailEntities",mdmModuleDistributeDetailEntities); - JSONObject object1 = mdmModuleDao.queryMdmST(checkData); - object1 = toLowerCaseKeys(object1); - - if(object1.getString("id") == null || "".equals(object1.getString("id")) ){ - taskDetailEntity.setResult("当前数据不符合规则不发送"); - taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity); - return BaseResult.getFailureMessageEntity("当前数据不符合规则不发送"); - } - } - //查看主表是否有字段是关联的 - if(mdmModuleDbFiledsRuleEntities != null && mdmModuleDbFiledsRuleEntities.size() > 0){ - for (int i1 = 0; i1 < mdmModuleDbFiledsRuleEntities.size(); i1++) { - if(mdmModuleDbFiledsRuleEntities.get(i1).getDbId().equals(mdmModuleDbEntities.get(i).getId())){ - if(mdmModuleDbFiledsEntities != null && mdmModuleDbFiledsEntities.size() > 0){ - for (int i2 = 0; i2 < mdmModuleDbFiledsEntities.size(); i2++) { - if(mdmModuleDbFiledsRuleEntities.get(i1).getFiledId().equals(mdmModuleDbFiledsEntities.get(i2).getId())){ - if(object.getString(mdmModuleDbFiledsEntities.get(i2).getEnName()) != null){ - Map mapDetail = new HashMap<>(); - mapDetail.put("tableName",mdmModuleDbFiledsRuleEntities.get(i1).getRuleValue()); - String ids = object.getString(mdmModuleDbFiledsEntities.get(i2).getEnName()); - String[] idss = ids.split(","); - mapDetail.put("id", idss[idss.length-1]); - JSONObject objectDetail = mdmModuleDao.queryMdmST(mapDetail); - objectDetail = toLowerCaseKeys(objectDetail); - object.put(mdmModuleDbFiledsEntities.get(i2).getEnName(),objectDetail); - } - } - } - } - } - } - } - } - } - - for (int i = 0; i < mdmModuleDbEntities.size(); i++) { - if("2".equals(mdmModuleDbEntities.get(i).getDbType())){ - Map map = new HashMap<>(); - map.put("tableName",mdmModuleDbEntities.get(i).getDbName()); - map.put("formmainId",object.getString("id")); - List detail = mdmModuleDao.queryMdmSTDetail(map); - detail = toLowerCaseKeys(detail); - - //查看主表是否有字段是关联的 - if(detail != null && detail.size() > 0){ - if(mdmModuleDbFiledsRuleEntities != null && mdmModuleDbFiledsRuleEntities.size() > 0){ - for (int i1 = 0; i1 < mdmModuleDbFiledsRuleEntities.size(); i1++) { - if(mdmModuleDbFiledsRuleEntities.get(i1).getDbId().equals(mdmModuleDbEntities.get(i).getId())){ - if(mdmModuleDbFiledsEntities != null && mdmModuleDbFiledsEntities.size() > 0){ - for (int i2 = 0; i2 < mdmModuleDbFiledsEntities.size(); i2++) { - if(mdmModuleDbFiledsRuleEntities.get(i1).getFiledId().equals(mdmModuleDbFiledsEntities.get(i2).getId())){ - for (int i3 = 0; i3 < detail.size(); i3++) { - if(detail.get(i3).getString(mdmModuleDbFiledsEntities.get(i2).getEnName()) != null){ - Map mapDetail = new HashMap<>(); - mapDetail.put("tableName",mdmModuleDbFiledsRuleEntities.get(i1).getRuleValue()); - String ids = detail.get(i3).getString(mdmModuleDbFiledsEntities.get(i2).getEnName()); - String[] idss = ids.split(","); - mapDetail.put("id", idss[idss.length-1]); - - JSONObject objectDetail = mdmModuleDao.queryMdmST(mapDetail); - objectDetail = toLowerCaseKeys(objectDetail); - - detail.get(i3).put(mdmModuleDbFiledsEntities.get(i2).getEnName(),objectDetail); - } - - } - } - } - } - } - } - } - } - object.put(mdmModuleDbEntities.get(i).getDbName(),detail); - } - } - //执行脚本 - JSONObject groovy = new JSONObject(); - JSONObject parameterJson = new JSONObject(); - parameterJson.put("header",apiEntity.getHeaderIn()); - parameterJson.put("body",apiEntity.getBodyIn()); - parameterJson.put("query",apiEntity.getQueryIn()); - parameterJson.put("data",object); - - if (!"1".equals(type)) {//删除或者修改情况,查询三方id,有就设置,没有就设置空 - //1、根据主数据id、数据id、应用ID默认查询主数据应用下发三方id表,只查询最新的一条数据 - MdmModuleDistributeTripartiteEntity mdmModuleDistributeTripartiteEntity = new MdmModuleDistributeTripartiteEntity(); - mdmModuleDistributeTripartiteEntity.setSts("Y"); - mdmModuleDistributeTripartiteEntity.setMdmId(mdmModuleEntity.getId()); - mdmModuleDistributeTripartiteEntity.setDataId(object.getString("id")); - mdmModuleDistributeTripartiteEntity.setAppId(sysApplicationEntity.getId()); - mdmModuleDistributeTripartiteEntity = mdmModuleDistributeTripartiteDao.queryOneTripartite(mdmModuleDistributeTripartiteEntity); - String tripartiteId = ""; - if(mdmModuleDistributeTripartiteEntity != null && mdmModuleDistributeTripartiteEntity.getTripartiteId() != null ){ - tripartiteId = mdmModuleDistributeTripartiteEntity.getTripartiteId(); - } - parameterJson.put("tripartiteId", tripartiteId); - } - /** head */ - Map header = null; - /** query */ - String querys = null; - /** body */ - String bodys = object.toJSONString(); - if(scriptEntity != null && scriptEntity.getId() != null ){ - groovy.put("code",scriptEntity.getScriptCode()); - groovy.put("className",scriptEntity.getClassName()); - groovy.put("name",scriptEntity.getScriptName()); - groovy.put("methodStr",scriptEntity.getScriptData()); - groovy.put("parameterJson",parameterJson); - JSONObject groovyStr = new JSONObject(); - groovyStr.put("jsonStr",groovy); - try { - Object str = groovyIntegrationService.groovyScriptExecution(groovyStr); - JSONObject jsonResultEntity = JSONObject.parseObject(str.toString()); - header = (Map) jsonResultEntity.get("header"); - querys = jsonResultEntity.getString("querys"); - bodys = jsonResultEntity.getString("bodys"); - }catch (Exception e){ - taskDetailEntity.setResult("分发脚本转换错误"); - taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity); - return BaseResult.getFailureMessageEntity("分发脚本转换错误"); - } - } - Map headers = new HashMap<>(); - headers.put("publicKey","ZJYAWb7lhAUTYqekPkU+uHJv1/ObJxb7dT7sD8HPRDGAgyhCe7eDIk+3zDUT+v578prj"); - headers.put("secretKey","fviZnLBsQUAGF8w8FSOdJi7XlIm/XAZclMxRagDLfTyJFlvnIBF3w66Hrpfzs8cYj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA="); - headers.put("appId",sysApplicationEntity.getAppId().toString()); - headers.put("apiCode",apiEntity.getApiCode().toString()); - if(header != null){ - headers.putAll(header); - } - if (SysEnum.NEED_LOGIN.getValue().equals(apiEntity.getNeedLogin())) { - //找到登陆接口 - SysApplicationApiEntity loginApi = sysApplicationApiDao.get(apiEntity.getAuthenticationPort()); - if (null == loginApi) { - taskDetailEntity.setResult("发送错误,认证接口不存在"); - taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity); - return BaseResult.getFailureMessageEntity("发送错误,认证接口不存在"); - } - String rzquerys = getQuery(loginApi,null,null); - Map headersa = new HashMap<>(); - headersa.put("publicKey", "ZJYAWb7lhAUTYqekPkU+uHJv1/ObJxb7dT7sD8HPRDGAgyhCe7eDIk+3zDUT+v578prj"); - headersa.put("secretKey", "fviZnLBsQUAGF8w8FSOdJi7XlIm/XAZclMxRagDLfTyJFlvnIBF3w66Hrpfzs8cYj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA="); - headersa.put("appId", sysApplicationEntity.getAppId().toString()); - headersa.put("apiCode", loginApi.getApiCode().toString()); - Map rzheaders = getHeaders(loginApi,headersa,null); - String rzbodys = getBodys(loginApi,null,null); - JsonResultEntity rzjsonResultEntity = sendData(loginApi,rzheaders,rzbodys,rzquerys); - if (!rzjsonResultEntity.isFlag()) { - taskDetailEntity.setResult("发送错误,认证接口错误"); - taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity); - return BaseResult.getFailureMessageEntity("发送错误:"+rzjsonResultEntity.getMsg()); - } - JSONObject attritube = JSONObject.parseObject(rzjsonResultEntity.getAttribute().toString()); - logger.info("认证接口返回信息:"+ attritube.toJSONString()); - querys = getQuery(apiEntity,querys,attritube); - headers = getHeaders(apiEntity,headers,attritube); - - bodys = getBodys(apiEntity,bodys,attritube); - } - //组装数据发送 - JsonResultEntity jsonResultEntity = sendData(apiEntity,headers,bodys,querys); - if(jsonResultEntity.isFlag()){ - if ("1".equals(type)) {//保存三方返回id - if (scriptEntity != null && scriptEntity.getId() != null && scriptEntity.getBackScriptData() != null ) { - JSONObject backScriptJson = new JSONObject(); - backScriptJson.put("data", jsonResultEntity.getAttribute()); - groovy.put("code", scriptEntity.getScriptCode()+"back"); - groovy.put("className", scriptEntity.getClassName()+"back"); - groovy.put("name", scriptEntity.getScriptName()+"back"); - groovy.put("methodStr", scriptEntity.getBackScriptData()); - groovy.put("parameterJson", backScriptJson); - JSONObject groovyStr = new JSONObject(); - groovyStr.put("jsonStr", groovy); - try { - Object str = groovyIntegrationService.groovyScriptExecution(groovyStr); - if(str != null){ - JSONObject backJsonResultEntity = JSONObject.parseObject(str.toString()); - if(backJsonResultEntity != null && backJsonResultEntity.getString("success") != null && "true".equals(backJsonResultEntity.getString("success"))){ - MdmModuleDistributeTripartiteEntity mdmModuleDistributeTripartiteEntity = new MdmModuleDistributeTripartiteEntity(); - mdmModuleDistributeTripartiteEntity.setCreate(); - mdmModuleDistributeTripartiteEntity.setMdmId(mdmModuleEntity.getId()); - mdmModuleDistributeTripartiteEntity.setDataId(object.getString("id")); - mdmModuleDistributeTripartiteEntity.setAppId(sysApplicationEntity.getId()); - mdmModuleDistributeTripartiteEntity.setTripartiteId(backJsonResultEntity.getString("tripartiteId")); - mdmModuleDistributeTripartiteDao.save(mdmModuleDistributeTripartiteEntity); - } - } - } catch (Exception e) { - logger.error("新增返回脚本解析保存三方id错误"+jsonResultEntity.getAttribute()); - taskDetailEntity.setResult("新增返回脚本解析保存三方id错误"); - taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity); - return BaseResult.getFailureMessageEntity("发送错误"); - } - } - } - taskDetailEntity.setResult("发送成功"); - taskLivingDetailsService.saveLogFailToSuccess(taskDetailEntity); - return BaseResult.getFailureMessageEntity("发送成功"); - }else { - taskDetailEntity.setResult("发送错误"); - taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity); - return BaseResult.getFailureMessageEntity("发送错误"); - } - } - }else {//执行正常下发 - - //查询主数据 - MdmModuleEntity queryMdmModuleEntity = new MdmModuleEntity(); - queryMdmModuleEntity.setSts("Y"); - queryMdmModuleEntity.setMdmCode(10004L); - List mdmModuleEntities = mdmModuleDao.queryBase(queryMdmModuleEntity); - if(mdmModuleEntities == null || mdmModuleEntities.size() == 0){ - return BaseResult.getSuccessMessageEntity("主数据未设置,不需要下发"); - } - //查询下发的配置 没有直接跳过 - for (int i = 0; i < mdmModuleEntities.size(); i++) { - Long mdmCode = mdmModuleEntities.get(i).getMdmCode(); - MdmModuleDistributeEntity queryMdmModuleDistributeEntity = new MdmModuleDistributeEntity(); - queryMdmModuleDistributeEntity.setMdmId(mdmModuleEntities.get(i).getId()); - queryMdmModuleDistributeEntity.setEnabledType("1"); - queryMdmModuleDistributeEntity.setEnabledState("1"); - List mdmModuleDistributeEntities = mdmModuleDistributeDao.queryBase(queryMdmModuleDistributeEntity); - if(mdmModuleDistributeEntities == null || mdmModuleDistributeEntities.size() == 0){ - continue; - } - //查询主数据db - MdmModuleDbEntity queryMdmModuleDbEntity = new MdmModuleDbEntity(); - queryMdmModuleDbEntity.setMdmId(mdmModuleEntities.get(i).getId()); - List mdmModuleDbEntities = mdmServiceCache.queryMdmModuleDb(queryMdmModuleDbEntity); - if(mdmModuleDbEntities == null || mdmModuleDbEntities.size() == 0){ - continue; - } - //查询主数据字段 - MdmModuleDbFiledsEntity queryFild = new MdmModuleDbFiledsEntity(); - queryFild.setMdmId(mdmModuleEntities.get(i).getId()); - List mdmModuleDbFiledsEntities = mdmServiceCache.queryMdmModuleDbFileds(queryFild); - if(mdmModuleDbFiledsEntities == null || mdmModuleDbFiledsEntities.size() == 0){ - continue; - } - //字段的规则 - MdmModuleDbFiledsRuleEntity queryFildRule = new MdmModuleDbFiledsRuleEntity(); - queryFildRule.setMdmId(mdmModuleEntities.get(i).getId()); - queryFildRule.setRuleCode("service"); - List mdmModuleDbFiledsRuleEntities = mdmModuleDbFiledsRuleDao.queryBase(queryFildRule); - - //新增 - doAdd(mdmModuleEntities.get(i).getId(),mdmCode,mdmModuleDbEntities,mdmModuleDistributeEntities,mdmModuleDbFiledsRuleEntities,mdmModuleDbFiledsEntities); - //修改 - doUpdate(mdmModuleEntities.get(i).getId(),mdmCode,mdmModuleDbEntities,mdmModuleDistributeEntities,mdmModuleDbFiledsRuleEntities,mdmModuleDbFiledsEntities); - //删除 - doDelete(mdmModuleEntities.get(i).getId(),mdmCode,mdmModuleDbEntities,mdmModuleDistributeEntities,mdmModuleDbFiledsRuleEntities,mdmModuleDbFiledsEntities); - - } - - } - } - logger.info("执行成功"); - return BaseResult.getSuccessMessageEntity("执行成功"); - } catch (Exception e) { - logger.error("执行失败{}",e.getMessage()); - } - return BaseResult.getSuccessMessageEntity("执行成功"); - } - - private void doDelete(String mdmId,Long mainCode,List mdmModuleDbEntities, List mdmModuleDistributeEntities, List mdmModuleDbFiledsRuleEntities, List mdmModuleDbFiledsEntities) throws Exception { - //查询一千条数据 - String mainDb = null; - List objects = new ArrayList<>(); - for (int i2 = 0; i2 < mdmModuleDbEntities.size(); i2++) { - if("1".equals(mdmModuleDbEntities.get(i2).getDbType())) { - mainDb = mdmModuleDbEntities.get(i2).getDbName(); - } - } - if(mainDb == null){ - return; - } - Map map1 = new HashMap<>(); - map1.put("tableName",mainDb); - map1.put("dataStatus", "N"); - map1.put("deleteStatus", "0"); - map1.put("size", 10); - objects = mdmModuleDao.queryMdmSTs(map1); - objects = toLowerCaseKeys(objects); - - if(objects == null || objects.size() == 0){ - return; - } - for (int i1 = 0; i1 < mdmModuleDistributeEntities.size(); i1++) { - //查询下发的配置 - MdmModuleDistributeDetailEntity mdmModuleDistributeDetailEntity = new MdmModuleDistributeDetailEntity() ; - mdmModuleDistributeDetailEntity.setDistributeId(mdmModuleDistributeEntities.get(i1).getId()); - mdmModuleDistributeDetailEntity.setSts("Y"); - List mdmModuleDistributeDetailEntities = mdmModuleDistributeDetailDao.queryBase(mdmModuleDistributeDetailEntity); - //查询这一千条数据是否符合规则 - Map map = new HashMap<>(); - map.put("tableName", mainDb); - map.put("dataStatus", "N"); - map.put("deleteStatus", "0"); - map.put("mdmModuleDistributeDetailEntities", mdmModuleDistributeDetailEntities); - map.put("ids", objects); - List doObjects = mdmModuleDao.queryMdmSTs(map); - doObjects = toLowerCaseKeys(doObjects); - - if(doObjects == null || doObjects.size() == 0){ - continue; - } - if(mdmModuleDistributeEntities.get(i1).getDeleteApi() == null || "".equals(mdmModuleDistributeEntities.get(i1).getDeleteApi())){ - for (int i = 0; i < doObjects.size(); i++) { - saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","删除接口未设置",mainDb,objects.get(i).getString("id"),null,null,null,null,doObjects.get(i).toJSONString(),"3"); - } - return ; - } - SysApplicationApiEntity apiEntity = sysApplicationApiDao.get(mdmModuleDistributeEntities.get(i1).getDeleteApi()); - if(apiEntity == null || apiEntity.getId() == null ){ - for (int i = 0; i < doObjects.size(); i++) { - saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","删除接口未找到",mainDb,objects.get(i).getString("id"),null,null,null,null,doObjects.get(i).toJSONString(),"3"); - } - return ; - } - SysApplicationEntity sysApplicationEntity = sysApplicationDao.get(apiEntity.getAppId()); - if(sysApplicationEntity == null || sysApplicationEntity.getId() == null ){ - for (int i = 0; i < doObjects.size(); i++) { - saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","删除接口的应用未找到",mainDb,objects.get(i).getString("id"),null,null,apiEntity.getApiName(),apiEntity.getId(),doObjects.get(i).toJSONString(),"3"); - } - return ; - } - - SysApplicationScriptEntity scriptEntity = null; - if(mdmModuleDistributeEntities.get(i1).getDeleteScript() != null && !"".equals(mdmModuleDistributeEntities.get(i1).getDeleteScript())){ - scriptEntity = sysApplicationScriptDao.get(mdmModuleDistributeEntities.get(i1).getDeleteScript()); - if(scriptEntity == null || scriptEntity.getId() == null ){ - for (int i = 0; i < doObjects.size(); i++) { - saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","删除接口脚本未找到",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),sysApplicationEntity.getId(),apiEntity.getApiName(),apiEntity.getId(),doObjects.get(i).toJSONString(),"3"); - } - return ; - } - } - - for (int i = 0; i < doObjects.size(); i++) { - //查询发送日志是否已经有这条数据 - MdmModuleSendLogEntity mdmModuleSendLogEntity = new MdmModuleSendLogEntity(); - mdmModuleSendLogEntity.setTableName(mainDb+"_send_log"); - mdmModuleSendLogEntity.setFormmainId(doObjects.get(i).getString("id")); - mdmModuleSendLogEntity.setSts("Y"); - mdmModuleSendLogEntity.setAppId(sysApplicationEntity.getId()); - mdmModuleSendLogEntity.setApiId(apiEntity.getId()); - //mdmModuleSendLogEntity.setDistributeId(mdmModuleDistributeEntities.get(i1).getId()); - mdmModuleSendLogEntity.setOptionType("3"); - Integer num = mdmModuleSendLogDao.getCount(mdmModuleSendLogEntity); - if(num > 0){//已经过不发送 - continue; - } - getDetailData(mdmModuleDbEntities,doObjects.get(i),mdmModuleDbFiledsRuleEntities,mdmModuleDbFiledsEntities); - - //执行脚本 - JSONObject groovy = new JSONObject(); - JSONObject parameterJson = new JSONObject(); - parameterJson.put("header",apiEntity.getHeaderIn()); - parameterJson.put("body",apiEntity.getBodyIn()); - parameterJson.put("query",apiEntity.getQueryIn()); - parameterJson.put("data",doObjects.get(i)); - - //1、根据主数据id、数据id、应用ID默认查询主数据应用下发三方id表,只查询最新的一条数据 - MdmModuleDistributeTripartiteEntity mdmModuleDistributeTripartiteEntity = new MdmModuleDistributeTripartiteEntity(); - mdmModuleDistributeTripartiteEntity.setSts("Y"); - mdmModuleDistributeTripartiteEntity.setMdmId(mdmId); - mdmModuleDistributeTripartiteEntity.setDataId(objects.get(i).getString("id")); - mdmModuleDistributeTripartiteEntity.setAppId(sysApplicationEntity.getId()); - mdmModuleDistributeTripartiteEntity = mdmModuleDistributeTripartiteDao.queryOneTripartite(mdmModuleDistributeTripartiteEntity); - String tripartiteId = ""; - if(mdmModuleDistributeTripartiteEntity != null && mdmModuleDistributeTripartiteEntity.getTripartiteId() != null ){ - tripartiteId = mdmModuleDistributeTripartiteEntity.getTripartiteId(); - } - parameterJson.put("tripartiteId", tripartiteId); - - /** head */ - Map header = null; - /** query */ - String querys = null; - /** body */ - String bodys = doObjects.get(i).toJSONString(); - if(scriptEntity != null && scriptEntity.getId() != null ){ - groovy.put("code",scriptEntity.getScriptCode()); - groovy.put("className",scriptEntity.getClassName()); - groovy.put("name",scriptEntity.getScriptName()); - groovy.put("methodStr",scriptEntity.getScriptData()); - groovy.put("parameterJson",parameterJson); - JSONObject groovyStr = new JSONObject(); - groovyStr.put("jsonStr",groovy); - try { - Object str = groovyIntegrationService.groovyScriptExecution(groovyStr); - JSONObject jsonResultEntity = JSONObject.parseObject(str.toString()); - header = (Map) jsonResultEntity.get("header"); - querys = jsonResultEntity.getString("querys"); - bodys = jsonResultEntity.getString("bodys"); - }catch (Exception e){ - saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","脚本处理失败",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),sysApplicationEntity.getId(),apiEntity.getApiName(),apiEntity.getId(),doObjects.get(i).toJSONString(),"3"); - continue; - } - } - Map headers = new HashMap<>(); - headers.put("publicKey","ZJYAWb7lhAUTYqekPkU+uHJv1/ObJxb7dT7sD8HPRDGAgyhCe7eDIk+3zDUT+v578prj"); - headers.put("secretKey","fviZnLBsQUAGF8w8FSOdJi7XlIm/XAZclMxRagDLfTyJFlvnIBF3w66Hrpfzs8cYj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA="); - headers.put("appId",sysApplicationEntity.getAppId().toString()); - headers.put("apiCode",apiEntity.getApiCode().toString()); - if(header != null){ - headers.putAll(header); - } - if (SysEnum.NEED_LOGIN.getValue().equals(apiEntity.getNeedLogin())) { - //找到登陆接口 - SysApplicationApiEntity loginApi = sysApplicationApiDao.get(apiEntity.getAuthenticationPort()); - if (null == loginApi) { - saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","发送错误,认证接口不存在",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),sysApplicationEntity.getId(),apiEntity.getApiName(),apiEntity.getId(),doObjects.get(i).toJSONString(),"1"); - continue; - } - String rzquerys = getQuery(loginApi,null,null); - Map headersa = new HashMap<>(); - headersa.put("publicKey", "ZJYAWb7lhAUTYqekPkU+uHJv1/ObJxb7dT7sD8HPRDGAgyhCe7eDIk+3zDUT+v578prj"); - headersa.put("secretKey", "fviZnLBsQUAGF8w8FSOdJi7XlIm/XAZclMxRagDLfTyJFlvnIBF3w66Hrpfzs8cYj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA="); - headersa.put("appId", sysApplicationEntity.getAppId().toString()); - headersa.put("apiCode", loginApi.getApiCode().toString()); - Map rzheaders = getHeaders(loginApi,headersa,null); - String rzbodys = getBodys(loginApi,null,null); - JsonResultEntity rzjsonResultEntity = sendData(loginApi,rzheaders,rzbodys,rzquerys); - if (!rzjsonResultEntity.isFlag()) { - saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","发送错误,认证接口错误",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),sysApplicationEntity.getId(),apiEntity.getApiName(),apiEntity.getId(),doObjects.get(i).toJSONString(),"1"); - continue; - } - JSONObject attritube = JSONObject.parseObject(rzjsonResultEntity.getAttribute().toString()); - querys = getQuery(apiEntity,querys,attritube); - headers = getHeaders(apiEntity,headers,attritube); - bodys = getBodys(apiEntity,bodys,attritube); - } - //组装数据发送 - JsonResultEntity jsonResultEntity = sendData(apiEntity,headers,bodys,querys); - if(jsonResultEntity.isFlag()){ - //保存日志 - saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"1","发送成功",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),sysApplicationEntity.getId(),apiEntity.getApiName(),apiEntity.getId(),doObjects.get(i).toJSONString(),"3"); - continue; - }else { - //保存日志 - saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","转发失败",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),sysApplicationEntity.getId(),apiEntity.getApiName(),apiEntity.getId(),doObjects.get(i).toJSONString(),"3"); - continue; - } - } - - } - - //所有下发发送完成,修改数据状态 - for (int i = 0; i < objects.size(); i++) { - Map updateMap = new HashMap<>(); - updateMap.put("tableName",mainDb); - updateMap.put("dataStatus", "N"); - updateMap.put("deleteStatus", "1"); - updateMap.put("id", objects.get(i).getString("id")); - mdmModuleDao.updateMdmSTs(updateMap); - } - } - - private void doUpdate(String mdmId,Long mainCode,List mdmModuleDbEntities, List mdmModuleDistributeEntities, List mdmModuleDbFiledsRuleEntities, List mdmModuleDbFiledsEntities) throws Exception { - //查询一千条数据 - String mainDb = null; - List objects = new ArrayList<>(); - for (int i2 = 0; i2 < mdmModuleDbEntities.size(); i2++) { - if("1".equals(mdmModuleDbEntities.get(i2).getDbType())) { - mainDb = mdmModuleDbEntities.get(i2).getDbName(); - } - } - if(mainDb == null){ - return; - } - Map map1 = new HashMap<>(); - map1.put("tableName",mainDb); - //map1.put("dataStatus", "F"); - map1.put("updateStatus", "0"); - map1.put("size", 10); - objects = mdmModuleDao.queryMdmSTs(map1); - objects = toLowerCaseKeys(objects); - - if(objects == null || objects.size() == 0){ - return; - } - for (int i1 = 0; i1 < mdmModuleDistributeEntities.size(); i1++) { - //查询下发的配置 - MdmModuleDistributeDetailEntity mdmModuleDistributeDetailEntity = new MdmModuleDistributeDetailEntity() ; - mdmModuleDistributeDetailEntity.setDistributeId(mdmModuleDistributeEntities.get(i1).getId()); - mdmModuleDistributeDetailEntity.setSts("Y"); - List mdmModuleDistributeDetailEntities = mdmModuleDistributeDetailDao.queryBase(mdmModuleDistributeDetailEntity); - //查询这一千条数据是否符合规则 - Map map = new HashMap<>(); - map.put("tableName", mainDb); - //map.put("dataStatus", "F"); - map.put("updateStatus", "0"); - map.put("mdmModuleDistributeDetailEntities", mdmModuleDistributeDetailEntities); - map.put("ids", objects); - List doObjects = mdmModuleDao.queryMdmSTs(map); - doObjects = toLowerCaseKeys(doObjects); - - if(doObjects == null || doObjects.size() == 0){ - continue; - } - if(mdmModuleDistributeEntities.get(i1).getUpdateApi() == null || "".equals(mdmModuleDistributeEntities.get(i1).getUpdateApi())){ - for (int i = 0; i < doObjects.size(); i++) { - saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","修改接口未设置",mainDb,objects.get(i).getString("id"),null,null,null,null,doObjects.get(i).toJSONString(),"2"); - } - return ; - } - SysApplicationApiEntity apiEntity = sysApplicationApiDao.get(mdmModuleDistributeEntities.get(i1).getUpdateApi()); - if(apiEntity == null || apiEntity.getId() == null ){ - for (int i = 0; i < doObjects.size(); i++) { - saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","修改接口未查找到",mainDb,objects.get(i).getString("id"),null,null,null,null,doObjects.get(i).toJSONString(),"2"); - } - return ; - } - SysApplicationEntity sysApplicationEntity = sysApplicationDao.get(apiEntity.getAppId()); - if(sysApplicationEntity == null || sysApplicationEntity.getId() == null ){ - for (int i = 0; i < doObjects.size(); i++) { - saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","应用未查找到",mainDb,objects.get(i).getString("id"),null,null,apiEntity.getApiName(),apiEntity.getId(),doObjects.get(i).toJSONString(),"2"); - } - return ; - } - - SysApplicationScriptEntity scriptEntity = null; - if(mdmModuleDistributeEntities.get(i1).getUpdateScript() != null && !"".equals(mdmModuleDistributeEntities.get(i1).getUpdateScript())){ - scriptEntity = sysApplicationScriptDao.get(mdmModuleDistributeEntities.get(i1).getUpdateScript()); - if(scriptEntity == null || scriptEntity.getId() == null ){ - for (int i = 0; i < doObjects.size(); i++) { - saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","脚本未查找到",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),sysApplicationEntity.getId(),apiEntity.getApiName(),apiEntity.getId(),doObjects.get(i).toJSONString(),"2"); - } - return ; - } - } - - for (int i = 0; i < doObjects.size(); i++) { - - getDetailData(mdmModuleDbEntities,doObjects.get(i),mdmModuleDbFiledsRuleEntities,mdmModuleDbFiledsEntities); - - //执行脚本 - JSONObject groovy = new JSONObject(); - JSONObject parameterJson = new JSONObject(); - parameterJson.put("header",apiEntity.getHeaderIn()); - parameterJson.put("body",apiEntity.getBodyIn()); - parameterJson.put("query",apiEntity.getQueryIn()); - parameterJson.put("data",doObjects.get(i)); - //1、根据主数据id、数据id、应用ID默认查询主数据应用下发三方id表,只查询最新的一条数据 - MdmModuleDistributeTripartiteEntity mdmModuleDistributeTripartiteEntity = new MdmModuleDistributeTripartiteEntity(); - mdmModuleDistributeTripartiteEntity.setSts("Y"); - mdmModuleDistributeTripartiteEntity.setMdmId(mdmId); - mdmModuleDistributeTripartiteEntity.setDataId(objects.get(i).getString("id")); - mdmModuleDistributeTripartiteEntity.setAppId(sysApplicationEntity.getId()); - mdmModuleDistributeTripartiteEntity = mdmModuleDistributeTripartiteDao.queryOneTripartite(mdmModuleDistributeTripartiteEntity); - String tripartiteId = ""; - if(mdmModuleDistributeTripartiteEntity != null && mdmModuleDistributeTripartiteEntity.getTripartiteId() != null ){ - tripartiteId = mdmModuleDistributeTripartiteEntity.getTripartiteId(); - } - parameterJson.put("tripartiteId", tripartiteId); - /** head */ - Map header = null; - /** query */ - String querys = null; - /** body */ - String bodys = doObjects.get(i).toJSONString(); - if(scriptEntity != null && scriptEntity.getId() != null ){ - groovy.put("code",scriptEntity.getScriptCode()); - groovy.put("className",scriptEntity.getClassName()); - groovy.put("name",scriptEntity.getScriptName()); - groovy.put("methodStr",scriptEntity.getScriptData()); - groovy.put("parameterJson",parameterJson); - JSONObject groovyStr = new JSONObject(); - groovyStr.put("jsonStr",groovy); - try { - Object str = groovyIntegrationService.groovyScriptExecution(groovyStr); - JSONObject jsonResultEntity = JSONObject.parseObject(str.toString()); - header = (Map) jsonResultEntity.get("header"); - querys = jsonResultEntity.getString("querys"); - bodys = jsonResultEntity.getString("bodys"); - }catch (Exception e){ - saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","脚本处理失败",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),sysApplicationEntity.getId(),apiEntity.getApiName(),apiEntity.getId(),doObjects.get(i).toJSONString(),"2"); - continue; - } - } - Map headers = new HashMap<>(); - headers.put("publicKey","ZJYAWb7lhAUTYqekPkU+uHJv1/ObJxb7dT7sD8HPRDGAgyhCe7eDIk+3zDUT+v578prj"); - headers.put("secretKey","fviZnLBsQUAGF8w8FSOdJi7XlIm/XAZclMxRagDLfTyJFlvnIBF3w66Hrpfzs8cYj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA="); - headers.put("appId",sysApplicationEntity.getAppId().toString()); - headers.put("apiCode",apiEntity.getApiCode().toString()); - if(header != null){ - headers.putAll(header); - } - if (SysEnum.NEED_LOGIN.getValue().equals(apiEntity.getNeedLogin())) { - //找到登陆接口 - SysApplicationApiEntity loginApi = sysApplicationApiDao.get(apiEntity.getAuthenticationPort()); - if (null == loginApi) { - saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","发送错误,认证接口不存在",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),sysApplicationEntity.getId(),apiEntity.getApiName(),apiEntity.getId(),doObjects.get(i).toJSONString(),"1"); - continue; - } - String rzquerys = getQuery(loginApi,null,null); - Map headersa = new HashMap<>(); - headersa.put("publicKey", "ZJYAWb7lhAUTYqekPkU+uHJv1/ObJxb7dT7sD8HPRDGAgyhCe7eDIk+3zDUT+v578prj"); - headersa.put("secretKey", "fviZnLBsQUAGF8w8FSOdJi7XlIm/XAZclMxRagDLfTyJFlvnIBF3w66Hrpfzs8cYj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA="); - headersa.put("appId", sysApplicationEntity.getAppId().toString()); - headersa.put("apiCode", loginApi.getApiCode().toString()); - Map rzheaders = getHeaders(loginApi,headersa,null); - String rzbodys = getBodys(loginApi,null,null); - JsonResultEntity rzjsonResultEntity = sendData(loginApi,rzheaders,rzbodys,rzquerys); - if (!rzjsonResultEntity.isFlag()) { - saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","发送错误,认证接口错误",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),sysApplicationEntity.getId(),apiEntity.getApiName(),apiEntity.getId(),doObjects.get(i).toJSONString(),"1"); - continue; - } - JSONObject attritube = JSONObject.parseObject(rzjsonResultEntity.getAttribute().toString()); - querys = getQuery(apiEntity,querys,attritube); - headers = getHeaders(apiEntity,headers,attritube); - bodys = getBodys(apiEntity,bodys,attritube); - } - //组装数据发送 - JsonResultEntity jsonResultEntity = sendData(apiEntity,headers,bodys,querys); - if(jsonResultEntity.isFlag()){ - //保存日志 - saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"1","发送成功",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),sysApplicationEntity.getId(),apiEntity.getApiName(),apiEntity.getId(),doObjects.get(i).toJSONString(),"2"); - continue; - }else { - //保存日志 - saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","转发失败",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),sysApplicationEntity.getId(),apiEntity.getApiName(),apiEntity.getId(),doObjects.get(i).toJSONString(),"2"); - continue; - } - } - } - - //所有下发发送完成,修改数据状态 - for (int i = 0; i < objects.size(); i++) { - Map updateMap = new HashMap<>(); - updateMap.put("tableName",mainDb); - //updateMap.put("dataStatus", "F"); - updateMap.put("updateStatus", "1"); - updateMap.put("id", objects.get(i).getString("id")); - mdmModuleDao.updateMdmSTs(updateMap); - } - } - - /** - * @Author lvleigang - * @Description 处理新增数据 - * @Date 1:55 下午 2024/6/19 - * @param mdmModuleDbEntities - * @param mdmModuleDistributeEntities - * @return void - **/ - private void doAdd(String mdmId,Long mainCode,List mdmModuleDbEntities, List mdmModuleDistributeEntities,List mdmModuleDbFiledsRuleEntities,List mdmModuleDbFiledsEntities ) throws Exception { - //查询一千条数据 - String mainDb = null; - List objects = new ArrayList<>(); - for (int i2 = 0; i2 < mdmModuleDbEntities.size(); i2++) { - if("1".equals(mdmModuleDbEntities.get(i2).getDbType())) { - mainDb = mdmModuleDbEntities.get(i2).getDbName(); - } - } - if(mainDb == null){ - return; - } - Map map1 = new HashMap<>(); - map1.put("tableName",mainDb); - //map1.put("dataStatus", "Y"); - map1.put("addStatus", "0"); - map1.put("size", 10); - objects = mdmModuleDao.queryMdmSTs(map1); - objects = toLowerCaseKeys(objects); - - if(objects == null || objects.size() == 0){ - return; - } - for (int i1 = 0; i1 < mdmModuleDistributeEntities.size(); i1++) { - //查询下发的配置 - MdmModuleDistributeDetailEntity mdmModuleDistributeDetailEntity = new MdmModuleDistributeDetailEntity() ; - mdmModuleDistributeDetailEntity.setDistributeId(mdmModuleDistributeEntities.get(i1).getId()); - mdmModuleDistributeDetailEntity.setSts("Y"); - List mdmModuleDistributeDetailEntities = mdmModuleDistributeDetailDao.queryBase(mdmModuleDistributeDetailEntity); - //查询这一千条数据是否符合规则 - Map map = new HashMap<>(); - map.put("tableName", mainDb); - //map.put("dataStatus", "Y"); - map.put("addStatus", "0"); - map.put("mdmModuleDistributeDetailEntities", mdmModuleDistributeDetailEntities); - map.put("ids", objects); - List doObjects = mdmModuleDao.queryMdmSTs(map); - doObjects = toLowerCaseKeys(doObjects); - - if(doObjects == null || doObjects.size() == 0){ - continue; - } - if(mdmModuleDistributeEntities.get(i1).getAddApi() == null || "".equals(mdmModuleDistributeEntities.get(i1).getAddApi())){ - for (int i = 0; i < doObjects.size(); i++) { - //taskLivingDetailsService.saveLogToSuccess(); - saveMdmModuleSendLogEntity( mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","新增接口未设置",mainDb,objects.get(i).getString("id"),null,null,null,null,doObjects.get(i).toJSONString(),"1"); - } - return ; - } - SysApplicationApiEntity apiEntity = sysApplicationApiDao.get(mdmModuleDistributeEntities.get(i1).getAddApi()); - if(apiEntity == null || apiEntity.getId() == null ){ - for (int i = 0; i < doObjects.size(); i++) { - saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","新增接口未查找到",mainDb,objects.get(i).getString("id"),null,null,null,null,doObjects.get(i).toJSONString(),"1"); - } - return ; - } - SysApplicationEntity sysApplicationEntity = sysApplicationDao.get(apiEntity.getAppId()); - if(sysApplicationEntity == null || sysApplicationEntity.getId() == null ){ - for (int i = 0; i < doObjects.size(); i++) { - saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","应用未查找到",mainDb,objects.get(i).getString("id"),null,null,apiEntity.getApiName(),apiEntity.getId(),doObjects.get(i).toJSONString(),"1"); - } - return ; - } - - SysApplicationScriptEntity scriptEntity = null; - if(mdmModuleDistributeEntities.get(i1).getAddScript() != null && !"".equals(mdmModuleDistributeEntities.get(i1).getAddScript())){ - scriptEntity = sysApplicationScriptDao.get(mdmModuleDistributeEntities.get(i1).getAddScript()); - if(scriptEntity == null || scriptEntity.getId() == null ){ - for (int i = 0; i < doObjects.size(); i++) { - saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","脚本未查找到",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),sysApplicationEntity.getId(),apiEntity.getApiName(),apiEntity.getId(),doObjects.get(i).toJSONString(),"1"); - } - return ; - } - } - - for (int i = 0; i < doObjects.size(); i++) { - //查询是否已经手动发送过。只有新增校验,查询发送日志是否已经有这条数据 - MdmModuleSendLogEntity mdmModuleSendLogEntity = new MdmModuleSendLogEntity(); - mdmModuleSendLogEntity.setTableName(mainDb+"_send_log"); - mdmModuleSendLogEntity.setFormmainId(doObjects.get(i).getString("id")); - mdmModuleSendLogEntity.setSts("Y"); - mdmModuleSendLogEntity.setAppId(sysApplicationEntity.getId()); - mdmModuleSendLogEntity.setApiId(apiEntity.getId()); - //mdmModuleSendLogEntity.setDistributeId(mdmModuleDistributeEntities.get(i1).getId()); - mdmModuleSendLogEntity.setOptionType("1"); - Integer num = mdmModuleSendLogDao.getCount(mdmModuleSendLogEntity); - if(num > 0){//已经新增过不发送 - continue; - } - getDetailData(mdmModuleDbEntities,doObjects.get(i),mdmModuleDbFiledsRuleEntities,mdmModuleDbFiledsEntities); - - //执行脚本 - JSONObject groovy = new JSONObject(); - JSONObject parameterJson = new JSONObject(); - parameterJson.put("header",apiEntity.getHeaderIn()); - parameterJson.put("body",apiEntity.getBodyIn()); - parameterJson.put("query",apiEntity.getQueryIn()); - parameterJson.put("data",doObjects.get(i)); - /** head */ - Map header = null; - /** query */ - String querys = null; - /** body */ - String bodys = doObjects.get(i).toJSONString(); - if(scriptEntity != null && scriptEntity.getId() != null ){ - groovy.put("code",scriptEntity.getScriptCode()); - groovy.put("className",scriptEntity.getClassName()); - groovy.put("name",scriptEntity.getScriptName()); - groovy.put("methodStr",scriptEntity.getScriptData()); - groovy.put("parameterJson",parameterJson); - JSONObject groovyStr = new JSONObject(); - groovyStr.put("jsonStr",groovy); - try { - Object str = groovyIntegrationService.groovyScriptExecution(groovyStr); - JSONObject jsonResultEntity = JSONObject.parseObject(str.toString()); - header = (Map) jsonResultEntity.get("header"); - querys = jsonResultEntity.getString("querys"); - bodys = jsonResultEntity.getString("bodys"); - }catch (Exception e){ - saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","脚本处理失败",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),sysApplicationEntity.getId(),apiEntity.getApiName(),apiEntity.getId(),doObjects.get(i).toJSONString(),"1"); - continue; - } - } - Map headers = new HashMap<>(); - headers.put("publicKey","ZJYAWb7lhAUTYqekPkU+uHJv1/ObJxb7dT7sD8HPRDGAgyhCe7eDIk+3zDUT+v578prj"); - headers.put("secretKey","fviZnLBsQUAGF8w8FSOdJi7XlIm/XAZclMxRagDLfTyJFlvnIBF3w66Hrpfzs8cYj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA="); - headers.put("appId",sysApplicationEntity.getAppId().toString()); - headers.put("apiCode",apiEntity.getApiCode().toString()); - if(header != null){ - headers.putAll(header); - } - if (SysEnum.NEED_LOGIN.getValue().equals(apiEntity.getNeedLogin())) { - //找到登陆接口 - SysApplicationApiEntity loginApi = sysApplicationApiDao.get(apiEntity.getAuthenticationPort()); - if (null == loginApi) { - saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","发送错误,认证接口不存在",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),sysApplicationEntity.getId(),apiEntity.getApiName(),apiEntity.getId(),doObjects.get(i).toJSONString(),"1"); - continue; - } - String rzquerys = getQuery(loginApi,null,null); - Map headersa = new HashMap<>(); - headersa.put("publicKey", "ZJYAWb7lhAUTYqekPkU+uHJv1/ObJxb7dT7sD8HPRDGAgyhCe7eDIk+3zDUT+v578prj"); - headersa.put("secretKey", "fviZnLBsQUAGF8w8FSOdJi7XlIm/XAZclMxRagDLfTyJFlvnIBF3w66Hrpfzs8cYj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA="); - headersa.put("appId", sysApplicationEntity.getAppId().toString()); - headersa.put("apiCode", loginApi.getApiCode().toString()); - Map rzheaders = getHeaders(loginApi,headersa,null); - String rzbodys = getBodys(loginApi,null,null); - JsonResultEntity rzjsonResultEntity = sendData(loginApi,rzheaders,rzbodys,rzquerys); - if (!rzjsonResultEntity.isFlag()) { - saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","发送错误,认证接口错误",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),sysApplicationEntity.getId(),apiEntity.getApiName(),apiEntity.getId(),doObjects.get(i).toJSONString(),"1"); - continue; - } - JSONObject attritube = JSONObject.parseObject(rzjsonResultEntity.getAttribute().toString()); - querys = getQuery(apiEntity,querys,attritube); - headers = getHeaders(apiEntity,headers,attritube); - bodys = getBodys(apiEntity,bodys,attritube); - } - - //组装数据发送 - JsonResultEntity jsonResultEntity = sendData(apiEntity,headers,bodys,querys); - if(jsonResultEntity.isFlag()){ - if (scriptEntity != null && scriptEntity.getId() != null && scriptEntity.getBackScriptData() != null ) { - JSONObject backScriptJson = new JSONObject(); - backScriptJson.put("data", jsonResultEntity.getAttribute()); - groovy.put("code", scriptEntity.getScriptCode()+"back"); - groovy.put("className", scriptEntity.getClassName()+"back"); - groovy.put("name", scriptEntity.getScriptName()+"back"); - groovy.put("methodStr", scriptEntity.getBackScriptData()); - groovy.put("parameterJson", backScriptJson); - JSONObject groovyStr = new JSONObject(); - groovyStr.put("jsonStr", groovy); - try { - Object str = groovyIntegrationService.groovyScriptExecution(groovyStr); - if(str != null){ - JSONObject backJsonResultEntity = JSONObject.parseObject(str.toString()); - if(backJsonResultEntity != null && backJsonResultEntity.getString("success") != null && "true".equals(backJsonResultEntity.getString("success"))){ - MdmModuleDistributeTripartiteEntity mdmModuleDistributeTripartiteEntity = new MdmModuleDistributeTripartiteEntity(); - mdmModuleDistributeTripartiteEntity.setId(UUIDUtils.getUUID()); - mdmModuleDistributeTripartiteEntity.setSts("Y"); - mdmModuleDistributeTripartiteEntity.setCreate_user_id("1"); - mdmModuleDistributeTripartiteEntity.setModify_user_id("1"); - mdmModuleDistributeTripartiteEntity.setCreate_time(new Date()); - mdmModuleDistributeTripartiteEntity.setModify_time(new Date()); - mdmModuleDistributeTripartiteEntity.setOrg_id("0"); - mdmModuleDistributeTripartiteEntity.setCompanyId("0"); - mdmModuleDistributeTripartiteEntity.setMdmId(mdmId); - mdmModuleDistributeTripartiteEntity.setDataId(objects.get(i).getString("id")); - mdmModuleDistributeTripartiteEntity.setAppId(sysApplicationEntity.getId()); - mdmModuleDistributeTripartiteEntity.setTripartiteId(backJsonResultEntity.getString("tripartiteId")); - mdmModuleDistributeTripartiteDao.save(mdmModuleDistributeTripartiteEntity); - } - } - } catch (Exception e) { - logger.error("新增返回脚本解析保存三方id错误"+jsonResultEntity.getAttribute()); - saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","新增返回脚本解析保存三方id错误",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),sysApplicationEntity.getId(),apiEntity.getApiName(),apiEntity.getId(),doObjects.get(i).toJSONString(),"1"); - continue; - } - } - //保存日志 - saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"1","发送成功",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),sysApplicationEntity.getId(),apiEntity.getApiName(),apiEntity.getId(),doObjects.get(i).toJSONString(),"1"); - continue; - }else { - //保存日志 - saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","转发失败",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),sysApplicationEntity.getId(),apiEntity.getApiName(),apiEntity.getId(),doObjects.get(i).toJSONString(),"1"); - continue; - } - } - } - - //所有下发发送完成,修改数据状态 - for (int i = 0; i < objects.size(); i++) { - Map updateMap = new HashMap<>(); - updateMap.put("tableName",mainDb); - //updateMap.put("dataStatus", "Y"); - updateMap.put("addStatus", "1"); - updateMap.put("id", objects.get(i).getString("id")); - mdmModuleDao.updateMdmSTs(updateMap); - } - } - - private void saveMdmModuleSendLogEntity(Long mdmCode,String distributeId,String dataType,String remark,String dbname,String formmain_id, String target_app, String appId, String target_api,String apiID, String source_data, String option_type) throws Exception { - MdmModuleSendLogEntity mdmModuleSendLogEntity = new MdmModuleSendLogEntity(); - mdmModuleSendLogEntity.setTableName(dbname+"_send_log"); - mdmModuleSendLogEntity.setId(UUIDUtils.getUUID()); - mdmModuleSendLogEntity.setSts("Y"); - mdmModuleSendLogEntity.setDistributeId(distributeId); - mdmModuleSendLogEntity.setAppId(appId); - mdmModuleSendLogEntity.setApiId(apiID); - mdmModuleSendLogEntity.setCreate_user_id("1"); - mdmModuleSendLogEntity.setModify_user_id("1"); - mdmModuleSendLogEntity.setCreate_time(new Date()); - mdmModuleSendLogEntity.setModify_time(new Date()); - mdmModuleSendLogEntity.setOrg_id("0"); - mdmModuleSendLogEntity.setCompanyId("0"); - mdmModuleSendLogEntity.setFormmainId(formmain_id); - mdmModuleSendLogEntity.setTargetApp(target_app); - mdmModuleSendLogEntity.setTargetApi(target_api); - mdmModuleSendLogEntity.setSourceData(source_data); - mdmModuleSendLogEntity.setOptionType(option_type); - mdmModuleSendLogEntity.setDataType(dataType); - mdmModuleSendLogEntity.setRemark(remark); - mdmModuleSendLogDao.save(mdmModuleSendLogEntity); - - - JSONObject jsonObject = JSONObject.parseObject(source_data); - IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity = new IntegrationTaskLivingDetailsEntity(); - integrationTaskLivingDetailsEntity.setId(UUIDUtils.getUUID()); - integrationTaskLivingDetailsEntity.setSts("Y"); - integrationTaskLivingDetailsEntity.setCreate_user_id("1"); - integrationTaskLivingDetailsEntity.setModify_user_id("1"); - integrationTaskLivingDetailsEntity.setCreate_time(new Date()); - integrationTaskLivingDetailsEntity.setModify_time(new Date()); - integrationTaskLivingDetailsEntity.setOrg_id("0"); - integrationTaskLivingDetailsEntity.setCompanyId("0"); - JSONObject aa = new JSONObject(); - aa.put("mdmCode",mdmCode);//主数据编码 - aa.put("documentRule",jsonObject.getString("document_rule"));//行数据的单据规则编码 - aa.put("distributeId",distributeId);//发送表id - aa.put("type",option_type);//发送类型,1、新增2、修改3、删除 - integrationTaskLivingDetailsEntity.setRootAppPk(aa.toJSONString()); - integrationTaskLivingDetailsEntity.setRootAppBill(jsonObject.getString("document_rule")); - integrationTaskLivingDetailsEntity.setPluginId("MdmModulePlugin"); - integrationTaskLivingDetailsEntity.setRootAppNewData(source_data); - integrationTaskLivingDetailsEntity.setNewTransmitInfo(remark); - if("1".equals(dataType)){ - taskLivingDetailsService.saveLogToSuccess(integrationTaskLivingDetailsEntity); - }else { - taskLivingDetailsService.saveLogToFail(integrationTaskLivingDetailsEntity); - - } - - } - - private JSONObject getDetailData(List mdmModuleDbEntities, JSONObject object, List mdmModuleDbFiledsRuleEntities,List mdmModuleDbFiledsEntities) { - - for (int i = 0; i < mdmModuleDbEntities.size(); i++) { - if("2".equals(mdmModuleDbEntities.get(i).getDbType())){ - Map map = new HashMap<>(); - map.put("tableName",mdmModuleDbEntities.get(i).getDbName()); - map.put("formmainId",object.getString("id")); - List detail = mdmModuleDao.queryMdmSTDetail(map); - detail = toLowerCaseKeys(detail); - - //查看主表是否有字段是关联的 - if(detail != null && detail.size() > 0){ - if(mdmModuleDbFiledsRuleEntities != null && mdmModuleDbFiledsRuleEntities.size() > 0){ - for (int i1 = 0; i1 < mdmModuleDbFiledsRuleEntities.size(); i1++) { - if(mdmModuleDbFiledsRuleEntities.get(i1).getDbId().equals(mdmModuleDbEntities.get(i).getId())){ - if(mdmModuleDbFiledsEntities != null && mdmModuleDbFiledsEntities.size() > 0){ - for (int i2 = 0; i2 < mdmModuleDbFiledsEntities.size(); i2++) { - if(mdmModuleDbFiledsRuleEntities.get(i1).getFiledId().equals(mdmModuleDbFiledsEntities.get(i2).getId())){ - for (int i3 = 0; i3 < detail.size(); i3++) { - if(detail.get(i3).getString(mdmModuleDbFiledsEntities.get(i2).getEnName()) != null){ - Map mapDetail = new HashMap<>(); - mapDetail.put("tableName",mdmModuleDbFiledsRuleEntities.get(i1).getRuleValue()); - String ids = detail.get(i3).getString(mdmModuleDbFiledsEntities.get(i2).getEnName()); - String[] idss = ids.split(","); - mapDetail.put("id", idss[idss.length-1]); - JSONObject objectDetail = mdmModuleDao.queryMdmST(mapDetail); - objectDetail = toLowerCaseKeys(objectDetail); - - detail.get(i3).put(mdmModuleDbFiledsEntities.get(i2).getEnName(),objectDetail); - } - } - } - } - } - } - } - } - } - object.put(mdmModuleDbEntities.get(i).getDbName(),detail); - } - } - - return object; - } - - - private JsonResultEntity sendData(SysApplicationApiEntity applicationApiEntity, Map headers ,String bodys ,String querys) { - StringBuffer urls = new StringBuffer(url); - if (querys != null) { - urls.append("?"); - urls.append(querys); - } - HttpClientBuilder httpClientBuilder = HttpClientBuilder.create(); - // HttpClient - CloseableHttpClient closeableHttpClient = httpClientBuilder.disableCookieManagement().build(); - HttpPost post = new HttpPost(urls.toString()); - CloseableHttpResponse response = null; - - RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(Integer.valueOf(applicationApiEntity.getTimeoutPeriod())).build(); - post.setConfig(requestConfig);//设置请求参数【超时时间】 - - if (headers != null && headers.size() > 0) { - for (String key : headers.keySet()) { - post.setHeader(key, headers.get(key)); - } - } - StringBuilder body = new StringBuilder(); - boolean flag = true; - try { - if (bodys != null && !"".equals(bodys)) { - ByteArrayEntity entity = new ByteArrayEntity(bodys.getBytes("UTF-8")); - entity.setContentType("application/json"); - post.setEntity(entity); - } - response = closeableHttpClient.execute(post); - - HttpEntity entity = response.getEntity(); - synchronized (lock) { - body.append(EntityUtils.toString(entity,"UTF-8")); - } - flag = true; - logger.info("返回结果:" + body); - } catch (Exception e) { - logger.error("请求错误:" + e.getMessage()); - body.append(e.getMessage()); - flag = false; - } finally { - try { - // 关闭响应对象 - if (response != null) { - response.close(); - } - // 关闭响应对象 - if (closeableHttpClient != null) { - closeableHttpClient.close(); - } - } catch (IOException e) { - e.printStackTrace(); - } - - } - if (flag) { - if (JSONUtil.isTypeJSON(body.toString())) { - JsonResultEntity jsonResultEntity = JSONObject.parseObject(body.toString(),JsonResultEntity.class); - if(jsonResultEntity.isFlag()){ - return BaseResult.getSuccessMessageEntity("转发成功", body); - }else { - return BaseResult.getFailureMessageEntity("转发失败", body); - } - }else { - return BaseResult.getFailureMessageEntity("转发失败", body); - } - } else { - return BaseResult.getFailureMessageEntity("转发失败", body); - } - } - - - private Map getHeaders(SysApplicationApiEntity loginApi,Map map,JSONObject loginData) { - if(loginData == null){ - loginData = new JSONObject(); - } - if (loginApi.getHeaderIn() != null && !"".equals(loginApi.getHeaderIn())) { - if (JSONUtil.isTypeJSONArray(loginApi.getHeaderIn())) { - JSONArray headerArray = JSON.parseArray(loginApi.getHeaderIn()); - for (int i = 0; i < headerArray.size(); i++) { - JSONObject querys = headerArray.getJSONObject(i); - //query 只有基本类型,不用循环判断下级 - //判断参数是否有值 - //获取对象下面的层级数据 - if (SysEnum.AUTHPORT.getValue().equals(querys.getString(SysEnum.PARAMETERTYPE.getValue()))) {//认证类型 - String query = querys.getString(SysEnum.EXAMPLE.getValue()); - if (query != null && !"".equals(query)) { - JSONArray example = JSONArray.parseArray(query); - String logValue = getObjectValue(loginData, example); - map.put(querys.getString(SysEnum.PARAMETERNAME.getValue()), logValue); - } - } else { - if (querys.getString(SysEnum.EXAMPLE.getValue()) != null && !"".equals(querys.getString(SysEnum.EXAMPLE.getValue()))) {//入参没有值用实例值,如果没有不添加 - if(map.get(querys.getString(SysEnum.PARAMETERNAME.getValue())) == null){ - map.put(querys.getString(SysEnum.PARAMETERNAME.getValue()), querys.getString(SysEnum.EXAMPLE.getValue())); - } - } else {//没有值直接拼接 - if(map.get(querys.getString(SysEnum.PARAMETERNAME.getValue())) == null){ - map.put(querys.getString(SysEnum.PARAMETERNAME.getValue()), ""); - } - } - } - } - } - } - return map; - - - - - } - - - private String getQuery(SysApplicationApiEntity loginApi,String sendDatastr,JSONObject loginData) { - Map map = new HashMap<>(); - if(sendDatastr != null){ - String[] parts = sendDatastr.split("&"); - if(parts != null && parts.length > 0){ - for (int i = 0; i < parts.length; i++) { - String[] part = parts[i].split("="); - if(part != null && part.length >=2 ){ - for (int a = 0; a < part.length; a++) { - map.put(part[0],part[1]); - } - } - } - } - } - if(loginData == null){ - loginData = new JSONObject(); - } - if (loginApi.getQueryIn() != null && !"".equals(loginApi.getQueryIn())) { - if (JSONUtil.isTypeJSONArray(loginApi.getQueryIn())) { - JSONArray headerArray = JSON.parseArray(loginApi.getQueryIn()); - for (int i = 0; i < headerArray.size(); i++) { - JSONObject querys = headerArray.getJSONObject(i); - //query 只有基本类型,不用循环判断下级 - //判断参数是否有值 - //获取对象下面的层级数据 - if (SysEnum.AUTHPORT.getValue().equals(querys.getString(SysEnum.PARAMETERTYPE.getValue()))) {//认证类型 - String query = querys.getString(SysEnum.EXAMPLE.getValue()); - if (query != null && !"".equals(query)) { - JSONArray example = JSONArray.parseArray(query); - String logValue = getObjectValue(loginData, example); - map.put(querys.getString(SysEnum.PARAMETERNAME.getValue()), logValue); - } - } else { - //不是认证类型直接取值 - if (querys.getString(SysEnum.EXAMPLE.getValue()) != null && !"".equals(querys.getString(SysEnum.EXAMPLE.getValue()))) {//入参没有值用实例值,如果没有不添加 - if(map.get(querys.getString(SysEnum.PARAMETERNAME.getValue())) == null){ - map.put(querys.getString(SysEnum.PARAMETERNAME.getValue()), querys.getString(SysEnum.EXAMPLE.getValue())); - } - } else {//没有值直接拼接 - if(map.get(querys.getString(SysEnum.PARAMETERNAME.getValue())) == null){ - map.put(querys.getString(SysEnum.PARAMETERNAME.getValue()), ""); - } - } - } - } - } - } - StringBuffer returnStr = new StringBuffer(); - if(map != null && map.size() > 0){ - for (String key : map.keySet()) { - if("".equals(returnStr)){ - returnStr.append(key).append("=").append(map.get(key)); - }else { - returnStr.append("&").append(key).append("=").append(map.get(key)); - } - } - } - return returnStr.toString(); - } - /** - * @param loginData - * @param example - * @return java.lang.String - * @Author lvleigang - * @Description 根据jsonArray 获取jsonobject中的值 - * @Date 11:47 上午 2023/8/31 - **/ - private String getObjectValue(JSONObject loginData, JSONArray example) { - String values = ""; - if (example != null && example.size() > 0) { - for (int i = 0; i < example.size(); i++) { - if (loginData.getString(example.getString(i)) != null && !"".equals(loginData.getString(example.getString(i)))) { - if (i == (example.size() - 1)) { - values = loginData.getString(example.getString(i)); - } else { - loginData = JSONObject.parseObject(loginData.getString(example.getString(i))); - } - } else { - return values; - } - } - } - return values; - } - private String getBodys(SysApplicationApiEntity loginApi,String sendDatastr, JSONObject loginData) { - JSONObject sendData = new JSONObject(); - if(sendDatastr != null ){ - sendData = JSONObject.parseObject(sendDatastr); - } - if(loginData == null){ - loginData = new JSONObject(); - } - if (loginApi.getBodyIn() != null && !"".equals(loginApi.getBodyIn())) { - if (JSONUtil.isTypeJSONArray(loginApi.getBodyIn())) { - JSONArray headerArray = JSON.parseArray(loginApi.getBodyIn()); - for (int i = 0; i < headerArray.size(); i++) { - //获取到第一个数据 - JSONObject querys = headerArray.getJSONObject(i); - if (SysEnum.AUTHPORT.getValue().equals(querys.getString(SysEnum.PARAMETERTYPE.getValue()))) {//认证类型 - String query = querys.getString(SysEnum.EXAMPLE.getValue()); - if (query != null && !"".equals(query)) { - JSONArray example = JSONArray.parseArray(query); - String logValue = getObjectValue(loginData, example); - sendData.put(querys.getString(SysEnum.PARAMETERNAME.getValue()),logValue); - } - } - } - } - } - return sendData.toString(); - } - public JSONObject toLowerCaseKeys(JSONObject jsonObject) { - JSONObject lowerCaseJson = new JSONObject(); - if (jsonObject != null) { - for (String key : jsonObject.keySet()) { - Object value = jsonObject.get(key); - lowerCaseJson.put(key.toLowerCase(), value); - } - } - return lowerCaseJson; - } - public List toLowerCaseKeys(List list) { - List jsonObjects = new ArrayList<>(); - if (list != null && list.size() > 0) { - for (int i = 0; i < list.size(); i++) { - jsonObjects.add(toLowerCaseKeys(list.get(i))); - } - } - return jsonObjects; - } -} diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/seeyonExt/plugin/SeeyonExtPluginInitializer.java b/buildpackage/src/main/java/com/hzya/frame/plugin/seeyonExt/plugin/SeeyonExtPluginInitializer.java deleted file mode 100644 index 94c446d8..00000000 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/seeyonExt/plugin/SeeyonExtPluginInitializer.java +++ /dev/null @@ -1,138 +0,0 @@ -package com.hzya.frame.plugin.seeyonExt.plugin; - -import cn.hutool.core.util.StrUtil; -import cn.hutool.json.JSONUtil; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; -import com.hzya.frame.base.PluginBaseEntity; -import com.hzya.frame.seeyon.service.ISeeYonInterFace; -import com.hzya.frame.sysnew.integtationTaskLivingDetails.entity.IntegrationTaskLivingDetailsEntity; -import com.hzya.frame.sysnew.integtationTaskLivingDetails.service.IIntegrationTaskLivingDetailsService; -import com.hzya.frame.web.entity.BaseResult; -import com.hzya.frame.web.entity.JsonResultEntity; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; - -import java.util.HashMap; -import java.util.Map; - -/** - * @Description - * @Author xiangerlin - * @Date 2024/5/15 08:34 - **/ -public class SeeyonExtPluginInitializer extends PluginBaseEntity { - Logger logger = LoggerFactory.getLogger(SeeyonExtPluginInitializer.class); - @Autowired - private IIntegrationTaskLivingDetailsService taskLivingDetailsService; - @Autowired - private ISeeYonInterFace seeyInterFace; - /*** - * 插件初始化方法 - * @Author 👻👻👻👻👻👻👻👻 gjh - * @Date 2023-08-02 10:48 - * @Param [] - * @return void - **/ - @Override - public void initialize() { - logger.info(getPluginLabel() + "執行初始化方法initialize()"); - } - - /**** - * 插件销毁方法 - * @author 👻👻👻👻👻👻👻👻 gjh - * @date 2023-08-02 10:48 - * @return void - **/ - @Override - public void destroy() { - logger.info(getPluginLabel() + "執行銷毀方法destroy()"); - } - - /**** - * 插件的ID - * @author 👻👻👻👻👻👻👻👻 gjh - * @date 2023-08-02 10:48 - * @return void - **/ - @Override - public String getPluginId() { - return "SeeyonExtPlugin"; - } - - /**** - * 插件的名称 - * @author 👻👻👻👻👻👻👻👻 gjh - * @date 2023-08-02 10:48 - * @return void - **/ - @Override - public String getPluginName() { - return "seeyonExt插件"; - } - - /**** - * 插件的显示值 - * @author 👻👻👻👻👻👻👻👻 gjh - * @date 2023-08-02 10:48 - * @return void - **/ - @Override - public String getPluginLabel() { - return "seeyonExt插件"; - } - - /*** - * 插件类型 1、场景插件 - * @Author 👻👻👻👻👻👻👻👻 gjh - * @Date 2023-08-02 14:01 - * @Param [] - * @return java.lang.String - **/ - @Override - public String getPluginType() { - return "1"; - } - - /*** - * seeyonExt 重试专用插件 - * @Since 3.0 - * @Author 👻👻👻👻👻👻👻👻 gjh - * @Date 2023-08-07 11:20 - * @param requestJson 执行业务代码的参数 - * @return void - **/ - @Override - public JsonResultEntity executeBusiness(JSONObject requestJson) throws Exception { - try { - //重试方法 - if (null != requestJson){ - //JSONObject jsonStr = requestJson.getJSONObject("jsonStr"); - //如果这个id不为空,说明是重试的 - String id = requestJson.getString("integration_task_living_details_id"); - if (StrUtil.isNotEmpty(id)){ - //查询日志表 - IntegrationTaskLivingDetailsEntity taskDetailEntity = taskLivingDetailsService.get(id); - if (null != taskDetailEntity && JSONUtil.isTypeJSON(taskDetailEntity.getRootAppPk())){ - //拿到这张表的源系统ID - JSONObject jsonObject = JSONObject.parseObject(taskDetailEntity.getRootAppPk()); - MapextData = new HashMap<>(); - extData.put("integration_task_living_details_id",id);//把日志id放到hzyaExtData中,下游方法从这个对象里取 - jsonObject.put("hzyaExtData",extData); - JSONObject param = new JSONObject(); - param.put("jsonStr", JSON.toJSONString(jsonObject)); - //调用seeyon标准重试方法 - seeyInterFace.thirdInterfaceSeeYonDefinitionRePush(param); - } - } - } - logger.info("执行成功"); - return BaseResult.getSuccessMessageEntity("执行成功"); - }catch (Exception e){ - e.printStackTrace(); - } - return BaseResult.getSuccessMessageEntity("执行成功"); - } -} diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/sysMessageManageLogBack/entity/SysESBMessageManageLogEntity.java b/buildpackage/src/main/java/com/hzya/frame/plugin/sysMessageManageLogBack/entity/SysESBMessageManageLogEntity.java deleted file mode 100644 index 1d39e5c6..00000000 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/sysMessageManageLogBack/entity/SysESBMessageManageLogEntity.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.hzya.frame.plugin.sysMessageManageLogBack.entity; - -import com.hzya.frame.web.entity.BaseEntity; - -public class SysESBMessageManageLogEntity extends BaseEntity { - - private String name; - - - -} - diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/sysMessageManageLogBack/plugin/SysMessageManageLogPluginInitializer.java b/buildpackage/src/main/java/com/hzya/frame/plugin/sysMessageManageLogBack/plugin/SysMessageManageLogPluginInitializer.java deleted file mode 100644 index ed6f5231..00000000 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/sysMessageManageLogBack/plugin/SysMessageManageLogPluginInitializer.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.hzya.frame.plugin.sysMessageManageLogBack.plugin; - -import com.alibaba.fastjson.JSONObject; -import com.hzya.frame.base.PluginBaseEntity; -import com.hzya.frame.web.entity.BaseResult; -import com.hzya.frame.web.entity.JsonResultEntity; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * 消息管理日志(SysMessageManageLog)表服务接口 - * - * @author makejava - * @since 2024-03-08 10:22:00 - */ -public class SysMessageManageLogPluginInitializer extends PluginBaseEntity { - Logger logger = LoggerFactory.getLogger(SysMessageManageLogPluginInitializer.class); - - @Override - public void initialize() { - logger.info(getPluginLabel() + "執行初始化方法initialize()"); - } - - @Override - public void destroy() { - logger.info(getPluginLabel() + "執行銷毀方法destroy()"); - } - - @Override - public String getPluginId() { - return "SysMessageManageLogPlugin"; - } - - @Override - public String getPluginName() { - return "ESB消息日志备份"; - } - - @Override - public String getPluginLabel() { - return "ESB消息日志备份"; - } - @Override - public String getPluginType() { - return "1"; - } - - @Override - public JsonResultEntity executeBusiness(JSONObject requestJson) throws Exception { - try { - logger.info("执行成功"); - return BaseResult.getSuccessMessageEntity("执行成功"); - }catch (Exception e){ - e.printStackTrace(); - } - return BaseResult.getSuccessMessageEntity("执行成功"); - } - -} diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/sysMessageManageLogBack/service/ISysESBMessageManageLogService.java b/buildpackage/src/main/java/com/hzya/frame/plugin/sysMessageManageLogBack/service/ISysESBMessageManageLogService.java deleted file mode 100644 index b30d5da9..00000000 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/sysMessageManageLogBack/service/ISysESBMessageManageLogService.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.hzya.frame.plugin.sysMessageManageLogBack.service; - -import com.hzya.frame.basedao.service.IBaseService; -import com.hzya.frame.plugin.sysMessageManageLogBack.entity.SysESBMessageManageLogEntity; - -/** - * 消息管理日志(SysMessageManageLog)表服务接口 - * - * @author makejava - * @since 2024-03-08 10:22:00 - */ -public interface ISysESBMessageManageLogService extends IBaseService { -} diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/sysMessageManageLogBack/service/impl/SysESBMessageManageLogServiceImpl.java b/buildpackage/src/main/java/com/hzya/frame/plugin/sysMessageManageLogBack/service/impl/SysESBMessageManageLogServiceImpl.java deleted file mode 100644 index a1494624..00000000 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/sysMessageManageLogBack/service/impl/SysESBMessageManageLogServiceImpl.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.hzya.frame.plugin.sysMessageManageLogBack.service.impl; - -import com.hzya.frame.basedao.service.impl.BaseService; -import com.hzya.frame.plugin.sysMessageManageLogBack.entity.SysESBMessageManageLogEntity; -import com.hzya.frame.plugin.sysMessageManageLogBack.service.ISysESBMessageManageLogService; - -/** - * 消息管理日志(SysMessageManageLog)表服务实现类 - * - * @author makejava - * @since 2024-03-08 10:22:00 - */ -public class SysESBMessageManageLogServiceImpl extends BaseService implements ISysESBMessageManageLogService { - -} diff --git a/buildpackage/src/main/resources/cfgHome/plugin/cbs8/pluginCfg.xml b/buildpackage/src/main/resources/cfgHome/plugin/cbs8/pluginCfg.xml deleted file mode 100644 index eec419c5..00000000 --- a/buildpackage/src/main/resources/cfgHome/plugin/cbs8/pluginCfg.xml +++ /dev/null @@ -1,6 +0,0 @@ - - -CBS8PayApplyPlugin -cbs8插件 -202406070001 - diff --git a/buildpackage/src/main/resources/cfgHome/plugin/cbs8/spring/spring-buildpackage-plugin.xml b/buildpackage/src/main/resources/cfgHome/plugin/cbs8/spring/spring-buildpackage-plugin.xml deleted file mode 100644 index 81dc741a..00000000 --- a/buildpackage/src/main/resources/cfgHome/plugin/cbs8/spring/spring-buildpackage-plugin.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/buildpackage/src/main/resources/cfgHome/plugin/cbs8/spring/spring-buildpackage-service.xml b/buildpackage/src/main/resources/cfgHome/plugin/cbs8/spring/spring-buildpackage-service.xml deleted file mode 100644 index f3c93de6..00000000 --- a/buildpackage/src/main/resources/cfgHome/plugin/cbs8/spring/spring-buildpackage-service.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/buildpackage/src/main/resources/cfgHome/plugin/masterData/pluginCfg.xml b/buildpackage/src/main/resources/cfgHome/plugin/masterData/pluginCfg.xml deleted file mode 100644 index e9adf11a..00000000 --- a/buildpackage/src/main/resources/cfgHome/plugin/masterData/pluginCfg.xml +++ /dev/null @@ -1,6 +0,0 @@ - - -MdmPlugin -MdmPlugin插件 -90000001 - diff --git a/buildpackage/src/main/resources/cfgHome/plugin/masterData/spring/spring-buildpackage-dao.xml b/buildpackage/src/main/resources/cfgHome/plugin/masterData/spring/spring-buildpackage-dao.xml deleted file mode 100644 index 471dd4a6..00000000 --- a/buildpackage/src/main/resources/cfgHome/plugin/masterData/spring/spring-buildpackage-dao.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/buildpackage/src/main/resources/cfgHome/plugin/masterData/spring/spring-buildpackage-plugin.xml b/buildpackage/src/main/resources/cfgHome/plugin/masterData/spring/spring-buildpackage-plugin.xml deleted file mode 100644 index 6943ad23..00000000 --- a/buildpackage/src/main/resources/cfgHome/plugin/masterData/spring/spring-buildpackage-plugin.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/buildpackage/src/main/resources/cfgHome/plugin/masterData/spring/spring-buildpackage-service.xml b/buildpackage/src/main/resources/cfgHome/plugin/masterData/spring/spring-buildpackage-service.xml deleted file mode 100644 index c642948f..00000000 --- a/buildpackage/src/main/resources/cfgHome/plugin/masterData/spring/spring-buildpackage-service.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/buildpackage/src/main/resources/cfgHome/plugin/mdmDistribute/pluginCfg.xml b/buildpackage/src/main/resources/cfgHome/plugin/mdmDistribute/pluginCfg.xml deleted file mode 100644 index 7b7b63b8..00000000 --- a/buildpackage/src/main/resources/cfgHome/plugin/mdmDistribute/pluginCfg.xml +++ /dev/null @@ -1,6 +0,0 @@ - - -MdmModulePlugin -MdmModulePlugin插件 -90000001 - diff --git a/buildpackage/src/main/resources/cfgHome/plugin/mdmDistribute/spring/spring-buildpackage-plugin.xml b/buildpackage/src/main/resources/cfgHome/plugin/mdmDistribute/spring/spring-buildpackage-plugin.xml deleted file mode 100644 index 4952fc4c..00000000 --- a/buildpackage/src/main/resources/cfgHome/plugin/mdmDistribute/spring/spring-buildpackage-plugin.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/buildpackage/src/main/resources/cfgHome/plugin/payBill/pluginCfg.xml b/buildpackage/src/main/resources/cfgHome/plugin/payBill/pluginCfg.xml deleted file mode 100644 index cedbfee4..00000000 --- a/buildpackage/src/main/resources/cfgHome/plugin/payBill/pluginCfg.xml +++ /dev/null @@ -1,6 +0,0 @@ - - -PayBillPlugin -OA付款单插件 -202406210001 - diff --git a/buildpackage/src/main/resources/cfgHome/plugin/payBill/spring/spring-buildpackage-plugin.xml b/buildpackage/src/main/resources/cfgHome/plugin/payBill/spring/spring-buildpackage-plugin.xml deleted file mode 100644 index 03e1cd8a..00000000 --- a/buildpackage/src/main/resources/cfgHome/plugin/payBill/spring/spring-buildpackage-plugin.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/buildpackage/src/main/resources/cfgHome/plugin/payBill/spring/spring-buildpackage-service.xml b/buildpackage/src/main/resources/cfgHome/plugin/payBill/spring/spring-buildpackage-service.xml deleted file mode 100644 index 88a86bfb..00000000 --- a/buildpackage/src/main/resources/cfgHome/plugin/payBill/spring/spring-buildpackage-service.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/buildpackage/src/main/resources/cfgHome/plugin/seeyonExt/pluginCfg.xml b/buildpackage/src/main/resources/cfgHome/plugin/seeyonExt/pluginCfg.xml deleted file mode 100644 index 458372d8..00000000 --- a/buildpackage/src/main/resources/cfgHome/plugin/seeyonExt/pluginCfg.xml +++ /dev/null @@ -1,6 +0,0 @@ - - -SeeyonExtPlugin -seeyonExt插件 -202405150001 - diff --git a/buildpackage/src/main/resources/cfgHome/plugin/seeyonExt/spring/spring-buildpackage-plugin.xml b/buildpackage/src/main/resources/cfgHome/plugin/seeyonExt/spring/spring-buildpackage-plugin.xml deleted file mode 100644 index cb98d142..00000000 --- a/buildpackage/src/main/resources/cfgHome/plugin/seeyonExt/spring/spring-buildpackage-plugin.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/buildpackage/src/main/resources/cfgHome/plugin/sysMessageManageLogBack/pluginCfg.xml b/buildpackage/src/main/resources/cfgHome/plugin/sysMessageManageLogBack/pluginCfg.xml deleted file mode 100644 index 00d5dc0b..00000000 --- a/buildpackage/src/main/resources/cfgHome/plugin/sysMessageManageLogBack/pluginCfg.xml +++ /dev/null @@ -1,6 +0,0 @@ - - -SysMessageManageLogPlugin -SysMessageManageLogPlugin插件 -202403080010 - diff --git a/buildpackage/src/main/resources/cfgHome/plugin/sysMessageManageLogBack/spring/spring-buildpackage-dao.xml b/buildpackage/src/main/resources/cfgHome/plugin/sysMessageManageLogBack/spring/spring-buildpackage-dao.xml deleted file mode 100644 index f857d7fc..00000000 --- a/buildpackage/src/main/resources/cfgHome/plugin/sysMessageManageLogBack/spring/spring-buildpackage-dao.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/buildpackage/src/main/resources/cfgHome/plugin/sysMessageManageLogBack/spring/spring-buildpackage-plugin.xml b/buildpackage/src/main/resources/cfgHome/plugin/sysMessageManageLogBack/spring/spring-buildpackage-plugin.xml deleted file mode 100644 index 2ca55124..00000000 --- a/buildpackage/src/main/resources/cfgHome/plugin/sysMessageManageLogBack/spring/spring-buildpackage-plugin.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/buildpackage/src/main/resources/cfgHome/plugin/sysMessageManageLogBack/spring/spring-buildpackage-service.xml b/buildpackage/src/main/resources/cfgHome/plugin/sysMessageManageLogBack/spring/spring-buildpackage-service.xml deleted file mode 100644 index 4f0c39ab..00000000 --- a/buildpackage/src/main/resources/cfgHome/plugin/sysMessageManageLogBack/spring/spring-buildpackage-service.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/outsourc/ConsignmachiningInReturnTest.java b/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/outsourc/ConsignmachiningInReturnTest.java new file mode 100644 index 00000000..740367c1 --- /dev/null +++ b/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/outsourc/ConsignmachiningInReturnTest.java @@ -0,0 +1,39 @@ +package com.hzya.frame.plugin.lets.plugin.outsourc; + +import com.hzya.frame.WebappApplication; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +import static org.junit.Assert.*; + +/** + * @Author:liuyang + * @Package:com.hzya.frame.plugin.lets.plugin.outsourc + * @Project:kangarooDataCenterV3 + * @name:ConsignmachiningInReturnTest + * @Date:2024/8/27 11:23 + * @Filename:ConsignmachiningInReturnTest + */ +@RunWith(SpringRunner.class) +@SpringBootTest(classes = WebappApplication.class) +public class ConsignmachiningInReturnTest { + + @Autowired + private ConsignmachiningInReturn consignmachiningInReturn; + + @Test + public void startImplement() { + try { + consignmachiningInReturn.startImplement("LETS-SH2024082700000006"); + } catch (Exception e) { + e.printStackTrace(); + } + } + +// @Test +// public void testStartImplement() { +// } +} \ No newline at end of file diff --git a/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseReturnTest.java b/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseReturnTest.java index e43a1895..17965fdb 100644 --- a/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseReturnTest.java +++ b/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseReturnTest.java @@ -25,10 +25,10 @@ public class ProxyPurchaseReturnTest { @Test public void startImplement() { try { -// proxyPurchaseReturn.startImplement("LETS-SH2024082200000006"); + proxyPurchaseReturn.startImplement("LETS-SH2024082700000005"); - proxyPurchaseReturn.startImplement("2024-01-01 00:00:00", "2024-08-07 23:59:59"); +// proxyPurchaseReturn.startImplement("2024-01-01 00:00:00", "2024-08-07 23:59:59"); } catch (Exception e) { e.printStackTrace(); } diff --git a/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehousTest.java b/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehousTest.java index 8719f88a..2a7e40ee 100644 --- a/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehousTest.java +++ b/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehousTest.java @@ -27,7 +27,7 @@ public class ProxyPurchaseWarehousTest { @Test public void startImplement() { try { - proxyPurchaseWarehous.startImplement("LETS-SH2024082200000006"); + proxyPurchaseWarehous.startImplement("LETS-RE2024082100000013"); } catch (Exception e) { e.printStackTrace(); } diff --git a/buildpackage/src/test/java/com/hzya/frame/temButtom.java b/buildpackage/src/test/java/com/hzya/frame/temButtom.java index e59468ee..cffbcd54 100644 --- a/buildpackage/src/test/java/com/hzya/frame/temButtom.java +++ b/buildpackage/src/test/java/com/hzya/frame/temButtom.java @@ -1,179 +1,179 @@ -package com.hzya.frame; - -import cn.hutool.core.convert.Convert; -import cn.hutool.http.HttpRequest; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; -import com.baomidou.dynamic.datasource.annotation.DS; -import com.hzya.frame.cbs8.dto.req.PayRequestDTO; -import com.hzya.frame.cbs8.dto.req.PayResultRequestDTO; -import com.hzya.frame.cbs8.dto.res.PayResultResDTO; -import com.hzya.frame.cbs8.service.ICbs8ExtService; -import com.hzya.frame.cbs8.service.ICbs8Service; -import com.hzya.frame.cbs8.util.CBSUtil; -import com.hzya.frame.cbs8.util.CbsAccessToken; -import com.hzya.frame.plugin.cbs8.plugin.PayApplyPluginInitializer; -import com.hzya.frame.plugin.cbs8.plugin.PayResultPluginInitializer; -import com.hzya.frame.plugin.cbs8.plugin.TransactionDetailPluginInitializer; -import com.hzya.frame.plugin.seeyonExt.plugin.SeeyonExtPluginInitializer; -import com.hzya.frame.seeyon.cbs8.entity.PaymentEntity; -import com.hzya.frame.seeyon.cbs8.service.IPaymentService; -import com.hzya.frame.stringutil.StringUtil; -import com.hzya.frame.sysnew.application.entity.SysExtensionApiEntity; -import com.hzya.frame.util.AESUtil; -import org.apache.http.protocol.HTTP; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringRunner; - -import javax.annotation.Resource; -import java.util.*; - -/** - * @ClassName dsasas - * @Description - * @Author llg - * Date 2023/7/16 8:18 上午 - */ -@RunWith(SpringRunner.class) -@SpringBootTest(classes = {WebappApplication.class}) -public class temButtom { - - @Resource - SeeyonExtPluginInitializer seeyonExtPluginInitializer; - @Resource - ICbs8Service cs8Service; - @Resource - ICbs8ExtService cbs8ExtService; - @Autowired - private IPaymentService paymentService; - @Autowired - private PayApplyPluginInitializer payApplyPluginInitializer; - - @Autowired - private TransactionDetailPluginInitializer transactionDetailPluginInitializer; - @Autowired - private PayResultPluginInitializer payResultPluginInitializer; - - @Test - public void cbs8PluginTest(){ - try { - //支付申请 测试通过 - //payApplyPluginInitializer.executeBusiness(new JSONObject()); - //查询交易明细 测试通过 - //transactionDetailPluginInitializer.executeBusiness(new JSONObject()); - //交易结果查询 未测试 (OA没有日志底表,无法测试) - payResultPluginInitializer.executeBusiness(new JSONObject()); - //电子回单测试 通过apipost测试过了,可以取到cbs电子回单,只是没法上传到OA - // - - }catch (Exception e){ - e.printStackTrace(); - } - } - @Test - public void queryUnpaid(){ - //查询待支付的列表 - PaymentEntity paymentEntity = new PaymentEntity(); - paymentEntity.setDataSourceCode("yc-test"); - try { - List paymentList = paymentService.queryUnpaid(paymentEntity); - System.out.println(paymentList); - } catch (Exception e) { - e.printStackTrace(); - throw new RuntimeException(e); - } - System.out.println("1111"); - } - @Test - public void queryResultTest(){ - // SysExtensionApiEntity sysExt = new SysExtensionApiEntity(); - // sysExt.setBodys("{\"referenceNum\":\"CL202406140002\"}"); - // cbs8ExtService.payResult(sysExt); - // System.out.println("11111"); - List cl202406140002 = cs8Service.queryPayResult(new PayResultRequestDTO("CL202406140002")); - System.out.println("111"); - } - - @Test - public void cbs8ExtTest(){ - PaymentEntity paymentEntity = new PaymentEntity(); - paymentEntity.setReferenceNum("CL202406140003"); - paymentEntity.setPayAccount("655905707410000"); - paymentEntity.setPayBankName(""); - paymentEntity.setAmount("99.02"); - paymentEntity.setRevAccount("123456778"); - paymentEntity.setRevBankName("中国工商银行总行清算中心"); - paymentEntity.setRevBankType("ICB"); - paymentEntity.setRevAccountName("测试账户"); - paymentEntity.setCnapsCode("102100099996"); - paymentEntity.setPurpose("测试用途"); - paymentEntity.setBusType("202"); - paymentEntity.setCurrency("10"); - if (null != paymentEntity){ - PayRequestDTO payRequestDTO = new PayRequestDTO(); - String ferenceNum = Convert.toStr(paymentEntity.getReferenceNumNew(),paymentEntity.getReferenceNum()); - payRequestDTO.setReferenceNum(ferenceNum); - payRequestDTO.setBusType(paymentEntity.getBusType()); - payRequestDTO.setAmount(paymentEntity.getAmount()); - payRequestDTO.setCurrency(paymentEntity.getCurrency()); - payRequestDTO.setPayAccount(StringUtil.replaceBlank(paymentEntity.getPayAccount())); - payRequestDTO.setRevAccount(StringUtil.replaceBlank(paymentEntity.getRevAccount())); - payRequestDTO.setRevAccountName(StringUtil.replaceBlank(paymentEntity.getRevAccountName())); - payRequestDTO.setRevBankType(StringUtil.replaceBlank((paymentEntity.getRevBankType()))); - payRequestDTO.setRevBankName(StringUtil.replaceBlank(paymentEntity.getRevBankName())); - payRequestDTO.setCnapsCode(StringUtil.replaceBlank((paymentEntity.getCnapsCode()))); - payRequestDTO.setPurpose(paymentEntity.getPurpose()); - payRequestDTO.setErpExtend1(paymentEntity.getPayType()); - //集中支付模式 - if (CBSUtil.CENTRALIZED_PAYMENT_TYPE.equals(payRequestDTO.getBusType())){ - payRequestDTO.setBusiStep("1"); - payRequestDTO.setApplyUnitCode(paymentEntity.getPayCompanyCode()); - payRequestDTO.setPayAccount(null); - } - List list = new ArrayList<>(); - list.add(payRequestDTO); - String requestData = JSONObject.toJSONString(list); - System.out.println("明文参数:"+requestData); - //签名 - long timestamp = System.currentTimeMillis(); - String sign = CBSUtil.sign(requestData,timestamp); - //加密 - byte[] encryptedData = CBSUtil.encrypt(requestData); - Map header = new HashMap(); - header.put(CBSUtil.SIGN_HEADER_NAME,sign); - header.put(CBSUtil.TIMESTAMP_HEADER,Long.toString(timestamp)); - header.put(HTTP.CONTENT_TYPE,CBSUtil.TARGET_CONTENT_TYPE); - header.put(CBSUtil.AUTHORIZATION,CBSUtil.BEARER+CbsAccessToken.getToken()); - byte[] bodyByte = HttpRequest.post("https://cbs8-openapi-reprd.csuat.cmburl.cn/openapi/payment/openapi/v1/payment-apply-common").addHeaders(header).body(encryptedData).execute().bodyBytes(); - String decrypt = CBSUtil.decrypt(bodyByte); - System.out.println(decrypt); - } - } - @Test - public void seeyonExtTest(){ - JSONObject jsonStr = new JSONObject(); - jsonStr.put("integration_task_living_details_id","4276973516873482804"); - JSONObject requestJson = new JSONObject(); - requestJson.put("jsonStr", JSON.toJSONString(jsonStr)); - try { - seeyonExtPluginInitializer.executeBusiness(requestJson); - } catch (Exception e) { - throw new RuntimeException(e); - } - } - - @Test - public void test01() { - String a = AESUtil.encrypt("hzya@1314"); - System.out.println(a); - String b = AESUtil.decrypt("62e4295b615a30dbf3b8ee96f41c820b"); - System.out.println(b); - } - - - - -} +//package com.hzya.frame; +// +//import cn.hutool.core.convert.Convert; +//import cn.hutool.http.HttpRequest; +//import com.alibaba.fastjson.JSON; +//import com.alibaba.fastjson.JSONObject; +//import com.baomidou.dynamic.datasource.annotation.DS; +//import com.hzya.frame.cbs8.dto.req.PayRequestDTO; +//import com.hzya.frame.cbs8.dto.req.PayResultRequestDTO; +//import com.hzya.frame.cbs8.dto.res.PayResultResDTO; +//import com.hzya.frame.cbs8.service.ICbs8ExtService; +//import com.hzya.frame.cbs8.service.ICbs8Service; +//import com.hzya.frame.cbs8.util.CBSUtil; +//import com.hzya.frame.cbs8.util.CbsAccessToken; +//import com.hzya.frame.plugin.cbs8.plugin.PayApplyPluginInitializer; +//import com.hzya.frame.plugin.cbs8.plugin.PayResultPluginInitializer; +//import com.hzya.frame.plugin.cbs8.plugin.TransactionDetailPluginInitializer; +//import com.hzya.frame.plugin.seeyonExt.plugin.SeeyonExtPluginInitializer; +//import com.hzya.frame.seeyon.cbs8.entity.PaymentEntity; +//import com.hzya.frame.seeyon.cbs8.service.IPaymentService; +//import com.hzya.frame.stringutil.StringUtil; +//import com.hzya.frame.sysnew.application.entity.SysExtensionApiEntity; +//import com.hzya.frame.util.AESUtil; +//import org.apache.http.protocol.HTTP; +//import org.junit.Test; +//import org.junit.runner.RunWith; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.boot.test.context.SpringBootTest; +//import org.springframework.test.context.junit4.SpringRunner; +// +//import javax.annotation.Resource; +//import java.util.*; +// +///** +// * @ClassName dsasas +// * @Description +// * @Author llg +// * Date 2023/7/16 8:18 上午 +// */ +//@RunWith(SpringRunner.class) +//@SpringBootTest(classes = {WebappApplication.class}) +//public class temButtom { +// +// @Resource +// SeeyonExtPluginInitializer seeyonExtPluginInitializer; +// @Resource +// ICbs8Service cs8Service; +// @Resource +// ICbs8ExtService cbs8ExtService; +// @Autowired +// private IPaymentService paymentService; +// @Autowired +// private PayApplyPluginInitializer payApplyPluginInitializer; +// +// @Autowired +// private TransactionDetailPluginInitializer transactionDetailPluginInitializer; +// @Autowired +// private PayResultPluginInitializer payResultPluginInitializer; +// +// @Test +// public void cbs8PluginTest(){ +// try { +// //支付申请 测试通过 +// //payApplyPluginInitializer.executeBusiness(new JSONObject()); +// //查询交易明细 测试通过 +// //transactionDetailPluginInitializer.executeBusiness(new JSONObject()); +// //交易结果查询 未测试 (OA没有日志底表,无法测试) +// payResultPluginInitializer.executeBusiness(new JSONObject()); +// //电子回单测试 通过apipost测试过了,可以取到cbs电子回单,只是没法上传到OA +// // +// +// }catch (Exception e){ +// e.printStackTrace(); +// } +// } +// @Test +// public void queryUnpaid(){ +// //查询待支付的列表 +// PaymentEntity paymentEntity = new PaymentEntity(); +// paymentEntity.setDataSourceCode("yc-test"); +// try { +// List paymentList = paymentService.queryUnpaid(paymentEntity); +// System.out.println(paymentList); +// } catch (Exception e) { +// e.printStackTrace(); +// throw new RuntimeException(e); +// } +// System.out.println("1111"); +// } +// @Test +// public void queryResultTest(){ +// // SysExtensionApiEntity sysExt = new SysExtensionApiEntity(); +// // sysExt.setBodys("{\"referenceNum\":\"CL202406140002\"}"); +// // cbs8ExtService.payResult(sysExt); +// // System.out.println("11111"); +// List cl202406140002 = cs8Service.queryPayResult(new PayResultRequestDTO("CL202406140002")); +// System.out.println("111"); +// } +// +// @Test +// public void cbs8ExtTest(){ +// PaymentEntity paymentEntity = new PaymentEntity(); +// paymentEntity.setReferenceNum("CL202406140003"); +// paymentEntity.setPayAccount("655905707410000"); +// paymentEntity.setPayBankName(""); +// paymentEntity.setAmount("99.02"); +// paymentEntity.setRevAccount("123456778"); +// paymentEntity.setRevBankName("中国工商银行总行清算中心"); +// paymentEntity.setRevBankType("ICB"); +// paymentEntity.setRevAccountName("测试账户"); +// paymentEntity.setCnapsCode("102100099996"); +// paymentEntity.setPurpose("测试用途"); +// paymentEntity.setBusType("202"); +// paymentEntity.setCurrency("10"); +// if (null != paymentEntity){ +// PayRequestDTO payRequestDTO = new PayRequestDTO(); +// String ferenceNum = Convert.toStr(paymentEntity.getReferenceNumNew(),paymentEntity.getReferenceNum()); +// payRequestDTO.setReferenceNum(ferenceNum); +// payRequestDTO.setBusType(paymentEntity.getBusType()); +// payRequestDTO.setAmount(paymentEntity.getAmount()); +// payRequestDTO.setCurrency(paymentEntity.getCurrency()); +// payRequestDTO.setPayAccount(StringUtil.replaceBlank(paymentEntity.getPayAccount())); +// payRequestDTO.setRevAccount(StringUtil.replaceBlank(paymentEntity.getRevAccount())); +// payRequestDTO.setRevAccountName(StringUtil.replaceBlank(paymentEntity.getRevAccountName())); +// payRequestDTO.setRevBankType(StringUtil.replaceBlank((paymentEntity.getRevBankType()))); +// payRequestDTO.setRevBankName(StringUtil.replaceBlank(paymentEntity.getRevBankName())); +// payRequestDTO.setCnapsCode(StringUtil.replaceBlank((paymentEntity.getCnapsCode()))); +// payRequestDTO.setPurpose(paymentEntity.getPurpose()); +// payRequestDTO.setErpExtend1(paymentEntity.getPayType()); +// //集中支付模式 +// if (CBSUtil.CENTRALIZED_PAYMENT_TYPE.equals(payRequestDTO.getBusType())){ +// payRequestDTO.setBusiStep("1"); +// payRequestDTO.setApplyUnitCode(paymentEntity.getPayCompanyCode()); +// payRequestDTO.setPayAccount(null); +// } +// List list = new ArrayList<>(); +// list.add(payRequestDTO); +// String requestData = JSONObject.toJSONString(list); +// System.out.println("明文参数:"+requestData); +// //签名 +// long timestamp = System.currentTimeMillis(); +// String sign = CBSUtil.sign(requestData,timestamp); +// //加密 +// byte[] encryptedData = CBSUtil.encrypt(requestData); +// Map header = new HashMap(); +// header.put(CBSUtil.SIGN_HEADER_NAME,sign); +// header.put(CBSUtil.TIMESTAMP_HEADER,Long.toString(timestamp)); +// header.put(HTTP.CONTENT_TYPE,CBSUtil.TARGET_CONTENT_TYPE); +// header.put(CBSUtil.AUTHORIZATION,CBSUtil.BEARER+CbsAccessToken.getToken()); +// byte[] bodyByte = HttpRequest.post("https://cbs8-openapi-reprd.csuat.cmburl.cn/openapi/payment/openapi/v1/payment-apply-common").addHeaders(header).body(encryptedData).execute().bodyBytes(); +// String decrypt = CBSUtil.decrypt(bodyByte); +// System.out.println(decrypt); +// } +// } +// @Test +// public void seeyonExtTest(){ +// JSONObject jsonStr = new JSONObject(); +// jsonStr.put("integration_task_living_details_id","4276973516873482804"); +// JSONObject requestJson = new JSONObject(); +// requestJson.put("jsonStr", JSON.toJSONString(jsonStr)); +// try { +// seeyonExtPluginInitializer.executeBusiness(requestJson); +// } catch (Exception e) { +// throw new RuntimeException(e); +// } +// } +// +// @Test +// public void test01() { +// String a = AESUtil.encrypt("hzya@1314"); +// System.out.println(a); +// String b = AESUtil.decrypt("62e4295b615a30dbf3b8ee96f41c820b"); +// System.out.println(b); +// } +// +// +// +// +//} diff --git a/service/src/main/java/com/hzya/frame/ttxofs/dto/ofspoorder/OfsPoOrderHeader.java b/service/src/main/java/com/hzya/frame/ttxofs/dto/ofspoorder/OfsPoOrderHeader.java index 25167dbf..aefbde68 100644 --- a/service/src/main/java/com/hzya/frame/ttxofs/dto/ofspoorder/OfsPoOrderHeader.java +++ b/service/src/main/java/com/hzya/frame/ttxofs/dto/ofspoorder/OfsPoOrderHeader.java @@ -49,4 +49,5 @@ public class OfsPoOrderHeader { private String createdBy; private String lastUpdated; private String lastUpdatedBy; + private String purchaseOrderType; } \ No newline at end of file diff --git a/service/src/main/java/com/hzya/frame/ttxofs/dto/ofspurchasereturnorder/PurchaseReturnOrderHeader.java b/service/src/main/java/com/hzya/frame/ttxofs/dto/ofspurchasereturnorder/PurchaseReturnOrderHeader.java index 754771d8..bcc9e7c9 100644 --- a/service/src/main/java/com/hzya/frame/ttxofs/dto/ofspurchasereturnorder/PurchaseReturnOrderHeader.java +++ b/service/src/main/java/com/hzya/frame/ttxofs/dto/ofspurchasereturnorder/PurchaseReturnOrderHeader.java @@ -49,4 +49,5 @@ public class PurchaseReturnOrderHeader { private String createdBy; private String lastUpdated; private String lastUpdatedBy; + private String purchaseOrderType; } \ No newline at end of file