diff --git a/buildpackage/src/main/resources/application-dev.yml b/buildpackage/src/main/resources/application-dev.yml index 0fb81b29..dd3ebce1 100644 --- a/buildpackage/src/main/resources/application-dev.yml +++ b/buildpackage/src/main/resources/application-dev.yml @@ -12,7 +12,7 @@ spring: dynamic: datasource: master: - url: jdbc:mysql://hzya.ufyct.com:9014/businesscenter?serverTimezone=UTC&useUnicode=true&characterEncoding=UTF8&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowLoadLocalInfile=false&autoReconnect=true&failOverReadOnly=false&connectTimeout=30000&socketTimeout=30000&autoReconnectForPools=true + url: jdbc:mysql://ufidahz.com.cn:9014/businesscenter?serverTimezone=UTC&useUnicode=true&characterEncoding=UTF8&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowLoadLocalInfile=false&autoReconnect=true&failOverReadOnly=false&connectTimeout=30000&socketTimeout=30000&autoReconnectForPools=true username: root password: 62e4295b615a30dbf3b8ee96f41c820b driver-class-name: com.mysql.jdbc.Driver # 3.2.0开始支持SPI可省略此配置 diff --git a/buildpackage/src/main/resources/application-llg.yml b/buildpackage/src/main/resources/application-llg.yml index 4d3c35d1..2920f2eb 100644 --- a/buildpackage/src/main/resources/application-llg.yml +++ b/buildpackage/src/main/resources/application-llg.yml @@ -22,7 +22,7 @@ spring: # password: 62e4295b615a30dbf3b8ee96f41c820b # driver-class-name: dm.jdbc.driver.DmDriver # type: com.alibaba.druid.pool.DruidDataSource - url: jdbc:mysql://hzya.ufyct.com:9014/businesscenter?serverTimezone=UTC&useUnicode=true&characterEncoding=UTF8&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowLoadLocalInfile=false&autoReconnect=true&failOverReadOnly=false&connectTimeout=30000&socketTimeout=30000&autoReconnectForPools=true + url: jdbc:mysql://ufidahz.com.cn:9014/businesscenter?serverTimezone=UTC&useUnicode=true&characterEncoding=UTF8&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowLoadLocalInfile=false&autoReconnect=true&failOverReadOnly=false&connectTimeout=30000&socketTimeout=30000&autoReconnectForPools=true username: root password: 62e4295b615a30dbf3b8ee96f41c820b driver-class-name: com.mysql.jdbc.Driver # 3.2.0开始支持SPI可省略此配置 diff --git a/buildpackage/src/main/resources/application.yml b/buildpackage/src/main/resources/application.yml index 1f564c28..19b59c47 100644 --- a/buildpackage/src/main/resources/application.yml +++ b/buildpackage/src/main/resources/application.yml @@ -122,3 +122,5 @@ jeecg : minio_name: ?? minio_pass: ?? bucketName: ?? +data: + use: true \ No newline at end of file diff --git a/common/src/main/java/com/hzya/frame/datasource/DataSourceUtilProperties.java b/common/src/main/java/com/hzya/frame/datasource/DataSourceUtilProperties.java index b034c049..36a5c0df 100644 --- a/common/src/main/java/com/hzya/frame/datasource/DataSourceUtilProperties.java +++ b/common/src/main/java/com/hzya/frame/datasource/DataSourceUtilProperties.java @@ -12,7 +12,7 @@ public class DataSourceUtilProperties { public static final String MYSQLDRIVER_6 = "com.mysql.jdbc.Driver"; // mysql数据库的驱动类 public static final String MYSQLDRIVER = "com.mysql.jdbc.Driver"; // mysql数据库的驱动类 public static final String ORACLEDRIVER = "oracle.jdbc.OracleDriver"; // oracles数据库的驱动类 - public static final String SQL2005DRIVER = "net.sourceforge.jtds.jdbc.Driver"; // sqlserver数据库的驱动类 + public static final String SQL2005DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; // sqlserver数据库的驱动类 public static final String SQL2000DRIVER = "net.sourceforge.jtds.jdbc.Driver"; // sqlserver数据库的驱动类 public static final String dm = "dm.jdbc.driver.DmDriver"; // 达梦数据库的驱动类 diff --git a/pom.xml b/pom.xml index afe24610..f79cb72d 100644 --- a/pom.xml +++ b/pom.xml @@ -23,8 +23,8 @@ 1.8 4.12 2.0.33 - 2.7.4 - 2.7.4 + 2.7.18 + 2.7.18 3.9.1 2.8.5 3.3.0 @@ -35,7 +35,7 @@ 5.1.49 1.4.6 - 2.7.4 + 2.7.18 1.30.0 3.13.0 2.6 @@ -53,9 +53,9 @@ 11.2.0.4 3.5.2 1.2.18 - 2.7.4 - 2.7.4 - 2.7.4 + 2.7.18 + 2.7.18 + 2.7.18 4.12 2.3.0 5.3.23 @@ -68,7 +68,7 @@ org.springframework.boot spring-boot-starter-parent - 2.7.4 + 2.7.18 @@ -275,6 +275,11 @@ ${lombok.version} true + + com.microsoft.sqlserver + mssql-jdbc + 6.4.0.jre8 + @@ -403,7 +408,7 @@ org.springframework.boot spring-boot-maven-plugin - 2.7.4 + 2.7.18 ${project.artifactId} none @@ -411,6 +416,32 @@ true + + + org.apache.maven.plugins + maven-surefire-plugin + 2.18.1 + + true + + + + org.apache.maven.plugins + maven-war-plugin + + + + ${basedir}/../service/src/main/resources/lib + WEB-INF/lib/ + false + + + **/*.jar + + + + + diff --git a/service/pom.xml b/service/pom.xml index 0a7f3138..6287f4e7 100644 --- a/service/pom.xml +++ b/service/pom.xml @@ -26,14 +26,14 @@ pubbaseapp_nccloud_rtLevel 1 system - ${basedir}/src/main/webapp/WEB-INF/lib/pubbaseapp_nccloud_rtLevel-1.jar + ${basedir}/src/main/resources/lib/pubbaseapp_nccloud_rtLevel-1.jar com.hzya.bipyonyoulog yonyoulog 1 system - ${basedir}/src/main/webapp/WEB-INF/lib/yonyoulog.jar + ${basedir}/src/main/resources/lib/yonyoulog.jar @@ -41,7 +41,7 @@ bcprov 1 system - ${basedir}/src/main/webapp/WEB-INF/lib/bcprov-jdk15on-1.70.jar + ${basedir}/src/main/resources/lib/bcprov-jdk15on-1.70.jar @@ -49,7 +49,14 @@ DataApiSdk 1 system - ${basedir}/src/main/webapp/WEB-INF/lib/DataApiSdk-jar-with-dependencies.jar + ${basedir}/src/main/resources/lib/DataApiSdk-jar-with-dependencies.jar + + + com.hzya.openBasicSDK + openBasicSDK + 1 + system + ${basedir}/src/main/resources/lib/openBasicSDK-2.1.230630.jar diff --git a/service/src/main/java/com/hzya/frame/mdm/mdmModule/entity/MdmModuleEntity.xml b/service/src/main/java/com/hzya/frame/mdm/mdmModule/entity/MdmModuleEntity.xml index 046fefdd..865721ad 100644 --- a/service/src/main/java/com/hzya/frame/mdm/mdmModule/entity/MdmModuleEntity.xml +++ b/service/src/main/java/com/hzya/frame/mdm/mdmModule/entity/MdmModuleEntity.xml @@ -442,11 +442,11 @@ where id = #{id} - MODIFY COLUMN ${item.enName} decimal(${item.filedLength}) DEFAULT NULL COMMENT + MODIFY COLUMN ${item.enName} decimal(${item.filedLength},8) DEFAULT NULL COMMENT #{item.chName}, - add COLUMN ${item.enName} decimal(${item.filedLength}) DEFAULT NULL COMMENT + add COLUMN ${item.enName} decimal(${item.filedLength},8) DEFAULT NULL COMMENT #{item.chName}, @@ -505,14 +505,14 @@ where id = #{id} - add COLUMN ${enName} decimal(${filedLength}) DEFAULT NULL COMMENT + add COLUMN ${enName} decimal(${filedLength},8) DEFAULT NULL COMMENT #{chName} drop COLUMN ${enName} - MODIFY COLUMN ${enName} decimal(${filedLength}) DEFAULT NULL COMMENT + MODIFY COLUMN ${enName} decimal(${filedLength},8) DEFAULT NULL COMMENT #{chName} @@ -566,13 +566,13 @@ where id = #{id} - add ${enName} decimal(${filedLength}) DEFAULT NULL + add ${enName} decimal(${filedLength},8) DEFAULT NULL drop ${enName} - MODIFY ${enName} decimal(${filedLength}) DEFAULT NULL + MODIFY ${enName} decimal(${filedLength},8) DEFAULT NULL diff --git a/service/src/main/java/com/hzya/frame/mdm/mdmModule/service/impl/MdmModuleServiceImpl.java b/service/src/main/java/com/hzya/frame/mdm/mdmModule/service/impl/MdmModuleServiceImpl.java index 2d59e3b7..cedbf8a3 100644 --- a/service/src/main/java/com/hzya/frame/mdm/mdmModule/service/impl/MdmModuleServiceImpl.java +++ b/service/src/main/java/com/hzya/frame/mdm/mdmModule/service/impl/MdmModuleServiceImpl.java @@ -1482,6 +1482,11 @@ public class MdmModuleServiceImpl extends BaseService i } entity.setUpdate(); entity.setDataType("2"); + try { + mdmModuleDao.alterTableField(entity); + } catch (Exception e){ + throw new BaseSystemException("表字段类型,修改失败,请联系管理员"); + } List mdmModuleDbFiledsEntities = new ArrayList<>(); mdmModuleDbFiledsEntities.add(entity); mdmServiceCache.saveOrUpdateMdmModuleDbFileds(entity.getMdmId(), mdmModuleDbFiledsEntities); @@ -1505,11 +1510,11 @@ public class MdmModuleServiceImpl extends BaseService i } } } - try { - mdmModuleDao.alterTableField(entity); - } catch (Exception e){ - throw new BaseSystemException("表字段类型,修改失败,请联系管理员"); - } + //try { + // mdmModuleDao.alterTableField(entity); + //} catch (Exception e){ + // throw new BaseSystemException("表字段类型,修改失败,请联系管理员"); + //} return BaseResult.getSuccessMessageEntity("修改字段成功"); } diff --git a/service/src/main/java/com/hzya/frame/mdm/mdmModuleDbFileds/entity/MdmModuleDbFiledsEntity.xml b/service/src/main/java/com/hzya/frame/mdm/mdmModuleDbFileds/entity/MdmModuleDbFiledsEntity.xml index 540c0e9f..0bb6e1c3 100644 --- a/service/src/main/java/com/hzya/frame/mdm/mdmModuleDbFileds/entity/MdmModuleDbFiledsEntity.xml +++ b/service/src/main/java/com/hzya/frame/mdm/mdmModuleDbFileds/entity/MdmModuleDbFiledsEntity.xml @@ -291,7 +291,7 @@ update mdm_module_db_fileds set query_type = #{queryType}, list_type = #{listType}, view_type = #{viewType}, - filed_length = #{filedLength}, + filed_length = #{filedLength}, create_user_id = #{create_user_id}, create_time = #{create_time}, modify_user_id = #{modify_user_id}, diff --git a/service/src/main/java/com/hzya/frame/mdm/mdmModuleDbFiledsRule/entity/MdmModuleDbFiledsRuleEntity.java b/service/src/main/java/com/hzya/frame/mdm/mdmModuleDbFiledsRule/entity/MdmModuleDbFiledsRuleEntity.java index e0031f98..d20f7090 100644 --- a/service/src/main/java/com/hzya/frame/mdm/mdmModuleDbFiledsRule/entity/MdmModuleDbFiledsRuleEntity.java +++ b/service/src/main/java/com/hzya/frame/mdm/mdmModuleDbFiledsRule/entity/MdmModuleDbFiledsRuleEntity.java @@ -9,7 +9,7 @@ import com.hzya.frame.web.entity.BaseEntity; * @since 2024-06-03 08:47:10 */ public class MdmModuleDbFiledsRuleEntity extends BaseEntity { - + /** 主数据模版ID */ private String mdmId; /** 前端分拣用 */ diff --git a/service/src/main/java/com/hzya/frame/mdm/mdmModuleDistributeTripartite/dao/IMdmModuleDistributeTripartiteDao.java b/service/src/main/java/com/hzya/frame/mdm/mdmModuleDistributeTripartite/dao/IMdmModuleDistributeTripartiteDao.java new file mode 100644 index 00000000..21591ebd --- /dev/null +++ b/service/src/main/java/com/hzya/frame/mdm/mdmModuleDistributeTripartite/dao/IMdmModuleDistributeTripartiteDao.java @@ -0,0 +1,16 @@ +package com.hzya.frame.mdm.mdmModuleDistributeTripartite.dao; + +import com.hzya.frame.mdm.mdmModuleDistributeTripartite.entity.MdmModuleDistributeTripartiteEntity; +import com.hzya.frame.basedao.dao.IBaseDao; + +/** + * 主数据下发三方主键表(mdm_module_distribute_tripartite: table)表数据库访问层 + * + * @author makejava + * @since 2024-07-15 11:33:38 + */ +public interface IMdmModuleDistributeTripartiteDao extends IBaseDao { + + MdmModuleDistributeTripartiteEntity queryOneTripartite(MdmModuleDistributeTripartiteEntity mdmModuleDistributeTripartiteEntity); +} + diff --git a/service/src/main/java/com/hzya/frame/mdm/mdmModuleDistributeTripartite/dao/impl/MdmModuleDistributeTripartiteDaoImpl.java b/service/src/main/java/com/hzya/frame/mdm/mdmModuleDistributeTripartite/dao/impl/MdmModuleDistributeTripartiteDaoImpl.java new file mode 100644 index 00000000..eb975a55 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/mdm/mdmModuleDistributeTripartite/dao/impl/MdmModuleDistributeTripartiteDaoImpl.java @@ -0,0 +1,22 @@ +package com.hzya.frame.mdm.mdmModuleDistributeTripartite.dao.impl; + +import com.hzya.frame.mdm.mdmModuleDistributeTripartite.entity.MdmModuleDistributeTripartiteEntity; +import com.hzya.frame.mdm.mdmModuleDistributeTripartite.dao.IMdmModuleDistributeTripartiteDao; +import org.springframework.stereotype.Repository; +import com.hzya.frame.basedao.dao.MybatisGenericDao; +/** + * 主数据下发三方主键表(MdmModuleDistributeTripartite)表数据库访问层 + * + * @author makejava + * @since 2024-07-15 11:33:38 + */ +@Repository(value = "MdmModuleDistributeTripartiteDaoImpl") +public class MdmModuleDistributeTripartiteDaoImpl extends MybatisGenericDao implements IMdmModuleDistributeTripartiteDao{ + + @Override + public MdmModuleDistributeTripartiteEntity queryOneTripartite(MdmModuleDistributeTripartiteEntity entity) { + MdmModuleDistributeTripartiteEntity o = (MdmModuleDistributeTripartiteEntity) super.selectOne(getSqlIdPrifx() + "queryOneTripartite", entity); + return o; + } +} + diff --git a/service/src/main/java/com/hzya/frame/mdm/mdmModuleDistributeTripartite/entity/MdmModuleDistributeTripartiteEntity.java b/service/src/main/java/com/hzya/frame/mdm/mdmModuleDistributeTripartite/entity/MdmModuleDistributeTripartiteEntity.java new file mode 100644 index 00000000..b6310ea8 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/mdm/mdmModuleDistributeTripartite/entity/MdmModuleDistributeTripartiteEntity.java @@ -0,0 +1,66 @@ +package com.hzya.frame.mdm.mdmModuleDistributeTripartite.entity; + +import java.util.Date; +import com.hzya.frame.web.entity.BaseEntity; +/** + * 主数据下发三方主键表(MdmModuleDistributeTripartite)实体类 + * + * @author makejava + * @since 2024-07-15 11:33:39 + */ +public class MdmModuleDistributeTripartiteEntity extends BaseEntity { + + /** 公司id */ + private String companyId; + /** 主数据id */ + private String mdmId; + /** 数据id */ + private String dataId; + /** 应用id */ + private String appId; + /** 三方id */ + private String tripartiteId; + + + public String getCompanyId() { + return companyId; + } + + public void setCompanyId(String companyId) { + this.companyId = companyId; + } + + public String getMdmId() { + return mdmId; + } + + public void setMdmId(String mdmId) { + this.mdmId = mdmId; + } + + public String getDataId() { + return dataId; + } + + public void setDataId(String dataId) { + this.dataId = dataId; + } + + public String getAppId() { + return appId; + } + + public void setAppId(String appId) { + this.appId = appId; + } + + public String getTripartiteId() { + return tripartiteId; + } + + public void setTripartiteId(String tripartiteId) { + this.tripartiteId = tripartiteId; + } + +} + diff --git a/service/src/main/java/com/hzya/frame/mdm/mdmModuleDistributeTripartite/entity/MdmModuleDistributeTripartiteEntity.xml b/service/src/main/java/com/hzya/frame/mdm/mdmModuleDistributeTripartite/entity/MdmModuleDistributeTripartiteEntity.xml new file mode 100644 index 00000000..82a513a7 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/mdm/mdmModuleDistributeTripartite/entity/MdmModuleDistributeTripartiteEntity.xml @@ -0,0 +1,290 @@ + + + + + + + + + + + + + + + + + + + + + + id + ,sorts + ,create_user_id + ,create_time + ,modify_user_id + ,modify_time + ,sts + ,org_id + ,company_id + ,mdm_id + ,data_id + ,app_id + ,tripartite_id + + + + + + + + + + + + + + + + insert into mdm_module_distribute_tripartite( + + id , + sorts , + create_user_id , + create_time , + modify_user_id , + modify_time , + sts , + org_id , + company_id , + mdm_id , + data_id , + app_id , + tripartite_id , + sts, + + )values( + + #{id} , + #{sorts} , + #{create_user_id} , + #{create_time} , + #{modify_user_id} , + #{modify_time} , + #{sts} , + #{org_id} , + #{companyId} , + #{mdmId} , + #{dataId} , + #{appId} , + #{tripartiteId} , + 'Y', + + ) + + + + insert into mdm_module_distribute_tripartite(create_user_id, create_time, modify_user_id, modify_time, sts, org_id, company_id, mdm_id, data_id, app_id, tripartite_id, sts) + values + + (#{entity.create_user_id},#{entity.create_time},#{entity.modify_user_id},#{entity.modify_time},#{entity.sts},#{entity.org_id},#{entity.companyId},#{entity.mdmId},#{entity.dataId},#{entity.appId},#{entity.tripartiteId}, 'Y') + + + + + insert into mdm_module_distribute_tripartite(create_user_id, create_time, modify_user_id, modify_time, sts, org_id, company_id, mdm_id, data_id, app_id, tripartite_id) + values + + (#{entity.create_user_id},#{entity.create_time},#{entity.modify_user_id},#{entity.modify_time},#{entity.sts},#{entity.org_id},#{entity.companyId},#{entity.mdmId},#{entity.dataId},#{entity.appId},#{entity.tripartiteId}) + + on duplicate key update + 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), + mdm_id = values(mdm_id), + data_id = values(data_id), + app_id = values(app_id), + tripartite_id = values(tripartite_id) + + +update mdm_module_distribute_tripartite set + + 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}, + mdm_id = #{mdmId}, + data_id = #{dataId}, + app_id = #{appId}, + tripartite_id = #{tripartiteId}, + +where id = #{id} + + + +update mdm_module_distribute_tripartite set sts= 'N' ,modify_time = #{modify_time},modify_user_id = #{modify_user_id} +where id = #{id} + + + +update mdm_module_distribute_tripartite set sts= 'N' ,modify_time = #{modify_time},modify_user_id = #{modify_user_id} + + and id = #{id} + and sorts = #{sorts} + and sts = #{sts} + and company_id = #{companyId} + and mdm_id = #{mdmId} + and data_id = #{dataId} + and app_id = #{appId} + and tripartite_id = #{tripartiteId} + and sts='Y' + + + + + delete from mdm_module_distribute_tripartite where id = #{id} + + + + + + + diff --git a/service/src/main/java/com/hzya/frame/mdm/mdmModuleDistributeTripartite/service/IMdmModuleDistributeTripartiteService.java b/service/src/main/java/com/hzya/frame/mdm/mdmModuleDistributeTripartite/service/IMdmModuleDistributeTripartiteService.java new file mode 100644 index 00000000..962b2cc3 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/mdm/mdmModuleDistributeTripartite/service/IMdmModuleDistributeTripartiteService.java @@ -0,0 +1,12 @@ +package com.hzya.frame.mdm.mdmModuleDistributeTripartite.service; + +import com.hzya.frame.mdm.mdmModuleDistributeTripartite.entity.MdmModuleDistributeTripartiteEntity; +import com.hzya.frame.basedao.service.IBaseService; +/** + * 主数据下发三方主键表(MdmModuleDistributeTripartite)表服务接口 + * + * @author makejava + * @since 2024-07-15 11:33:39 + */ +public interface IMdmModuleDistributeTripartiteService extends IBaseService{ +} diff --git a/service/src/main/java/com/hzya/frame/mdm/mdmModuleDistributeTripartite/service/impl/MdmModuleDistributeTripartiteServiceImpl.java b/service/src/main/java/com/hzya/frame/mdm/mdmModuleDistributeTripartite/service/impl/MdmModuleDistributeTripartiteServiceImpl.java new file mode 100644 index 00000000..773679e7 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/mdm/mdmModuleDistributeTripartite/service/impl/MdmModuleDistributeTripartiteServiceImpl.java @@ -0,0 +1,26 @@ +package com.hzya.frame.mdm.mdmModuleDistributeTripartite.service.impl; + +import com.hzya.frame.mdm.mdmModuleDistributeTripartite.entity.MdmModuleDistributeTripartiteEntity; +import com.hzya.frame.mdm.mdmModuleDistributeTripartite.dao.IMdmModuleDistributeTripartiteDao; +import com.hzya.frame.mdm.mdmModuleDistributeTripartite.service.IMdmModuleDistributeTripartiteService; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; +import javax.annotation.Resource; +import com.hzya.frame.basedao.service.impl.BaseService; +/** + * 主数据下发三方主键表(MdmModuleDistributeTripartite)表服务实现类 + * + * @author makejava + * @since 2024-07-15 11:33:39 + */ +@Service(value = "mdmModuleDistributeTripartiteService") +public class MdmModuleDistributeTripartiteServiceImpl extends BaseService implements IMdmModuleDistributeTripartiteService { + + private IMdmModuleDistributeTripartiteDao mdmModuleDistributeTripartiteDao; + + @Autowired + public void setMdmModuleDistributeTripartiteDao(IMdmModuleDistributeTripartiteDao dao) { + this.mdmModuleDistributeTripartiteDao = dao; + this.dao = dao; + } +} diff --git a/service/src/main/java/com/hzya/frame/mdm/service/impl/MdmServiceImpl.java b/service/src/main/java/com/hzya/frame/mdm/service/impl/MdmServiceImpl.java index 98483ea8..a10e4209 100644 --- a/service/src/main/java/com/hzya/frame/mdm/service/impl/MdmServiceImpl.java +++ b/service/src/main/java/com/hzya/frame/mdm/service/impl/MdmServiceImpl.java @@ -20,6 +20,8 @@ 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.mdmModuleOptionLog.dao.IMdmModuleOptionLogDao; import com.hzya.frame.mdm.mdmModuleOptionLog.entity.MdmModuleOptionLogEntity; import com.hzya.frame.mdm.mdmModuleSendLog.dao.IMdmModuleSendLogDao; @@ -86,7 +88,8 @@ public class MdmServiceImpl implements IMdmService { private ISysApplicationScriptDao sysApplicationScriptDao; @Resource private IMdmModuleDao mdmModuleDao; - + @Resource + private IMdmModuleDistributeTripartiteDao mdmModuleDistributeTripartiteDao; @Resource private IIntegrationTaskLivingDetailsService taskLivingDetailsService; @Resource @@ -1811,13 +1814,29 @@ public class MdmServiceImpl implements IMdmService { 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) { + if (scriptEntity != null && scriptEntity.getId() != null && scriptEntity.getScriptData() != null ) { groovy.put("code", scriptEntity.getScriptCode()); groovy.put("className", scriptEntity.getClassName()); groovy.put("name", scriptEntity.getScriptName()); @@ -1885,6 +1904,32 @@ public class MdmServiceImpl implements IMdmService { //组装数据发送 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); + MdmModuleDistributeTripartiteEntity mdmModuleDistributeTripartiteEntity = new MdmModuleDistributeTripartiteEntity(); + mdmModuleDistributeTripartiteEntity.setCreate(); + mdmModuleDistributeTripartiteEntity.setMdmId(mdmModuleEntity.getId()); + mdmModuleDistributeTripartiteEntity.setDataId(object.getString("id")); + mdmModuleDistributeTripartiteEntity.setAppId(sysApplicationEntity.getId()); + mdmModuleDistributeTripartiteEntity.setTripartiteId(str.toString()); + mdmModuleDistributeTripartiteDao.save(mdmModuleDistributeTripartiteEntity); + } catch (Exception e) { + return BaseResult.getFailureMessageEntity("新增返回脚本解析保存三方id错误"+jsonResultEntity.getAttribute()); + } + } + } saveMdmModuleSendLogEntity(mdmModuleEntity.getMdmCode(),mdmModuleDistributeEntity.getId(),"1", "发送成功", dbname, object.getString("id"), sysApplicationEntity.getName(),sysApplicationEntity.getId(), apiEntity.getApiName(),apiEntity.getId(), object.toJSONString(), type); return BaseResult.getSuccessMessageEntity("发送成功"); } else { diff --git a/service/src/main/java/com/hzya/frame/ningboBankTreasury/entity/NingboBankTreasuryEntity.java b/service/src/main/java/com/hzya/frame/ningboBankTreasury/entity/NingboBankTreasuryEntity.java new file mode 100644 index 00000000..aa72daf7 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/ningboBankTreasury/entity/NingboBankTreasuryEntity.java @@ -0,0 +1,9 @@ +package com.hzya.frame.ningboBankTreasury.entity; + +import com.hzya.frame.web.entity.BaseEntity; + + +public class NingboBankTreasuryEntity extends BaseEntity { + +} + diff --git a/service/src/main/java/com/hzya/frame/ningboBankTreasury/service/INingboBankTreasuryService.java b/service/src/main/java/com/hzya/frame/ningboBankTreasury/service/INingboBankTreasuryService.java new file mode 100644 index 00000000..d4f0b098 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/ningboBankTreasury/service/INingboBankTreasuryService.java @@ -0,0 +1,28 @@ +package com.hzya.frame.ningboBankTreasury.service; + +import com.alibaba.fastjson.JSONObject; +import com.hzya.frame.sysnew.application.entity.SysExtensionApiEntity; +import com.hzya.frame.web.entity.JsonResultEntity; + +public interface INingboBankTreasuryService { + + + + /** + * @Author lvleigang + * @Description 单笔查证接口 + * @Date 4:45 下午 2024/7/9 + * @param jsonObject + * @return com.hzya.frame.web.entity.JsonResultEntity + **/ + Object sendNbBank(JSONObject jsonObject); + + /** + * + * @content 此方法获取初始化参数,拼接请求参数 + * @author laborer + * @date 2024/5/27 0027 11:38 + * + */ + SysExtensionApiEntity doChangeData(SysExtensionApiEntity entity); +} diff --git a/service/src/main/java/com/hzya/frame/ningboBankTreasury/service/impl/NingboBankTreasuryServiceImpl.java b/service/src/main/java/com/hzya/frame/ningboBankTreasury/service/impl/NingboBankTreasuryServiceImpl.java new file mode 100644 index 00000000..488eb869 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/ningboBankTreasury/service/impl/NingboBankTreasuryServiceImpl.java @@ -0,0 +1,148 @@ +package com.hzya.frame.ningboBankTreasury.service.impl; + +import com.alibaba.fastjson.JSONObject; +import com.hzya.frame.bip.v3.v2207.dps.service.impl.PayMentServiceImpl; +import com.hzya.frame.ningboBankTreasury.service.INingboBankTreasuryService; +import com.hzya.frame.sysnew.application.entity.SysExtensionApiEntity; +import com.hzya.frame.sysnew.application.plugin.entity.SysApplicationPluginEntity; +import com.hzya.frame.util.bipV3.SHA256Util; +import com.hzya.frame.web.entity.BaseResult; +import com.hzya.frame.web.entity.JsonResultEntity; +import com.nbcb.sdk.OpenSDK; +import com.nbcb.sdk.aes.exception.SDKException; +import com.nbcb.sdk.aes.param.ConfigParam; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.Map; + + +@Service(value = "ningboBankTreasuryServiceImpl") +public class NingboBankTreasuryServiceImpl implements INingboBankTreasuryService { + private static final Logger logger = LoggerFactory.getLogger(NingboBankTreasuryServiceImpl.class); + + + /** + * @param jsonObject + * @return com.hzya.frame.web.entity.JsonResultEntity + * @Author lvleigang + * @Description 单笔查证接口 + * @Date 4:45 下午 2024/7/9 + **/ + @Override + public Object sendNbBank(JSONObject jsonObject) { + JSONObject returnJson = new JSONObject(); + JSONObject entity = getstrObj("jsonStr", jsonObject); + String dataJson = entity.getString("Data"); + String appKey = entity.getString("appKey"); + String privateKey = entity.getString("privateKey"); + String publicUrl = entity.getString("publicUrl"); + String publicKey = entity.getString("publicKey"); + String productID = entity.getString("productID"); + String serviceID = entity.getString("serviceID"); + //初始化宁波银行OpenSDK + try { + ConfigParam configParam = new ConfigParam(privateKey,publicUrl,appKey,publicKey,10000,20000); + OpenSDK.dynamicInit(configParam,true); + } catch (SDKException e) { + logger.error("初始化宁波银行OpenSDK错误:{}",e.getMessage()); + returnJson.put("retCode","9999"); + returnJson.put("retMsg","初始化宁波银行OpenSDK错误"); + return returnJson; + } + //发送数据 + try { + String returnData = OpenSDK.send(productID,serviceID,dataJson.replace(" ","")); + if(returnData == null || "".equals(returnData)){ + returnJson.put("retCode","9999"); + returnJson.put("retMsg","发送宁波银行OpenSDK返回错误"); + return returnJson; + } + try { + returnJson = JSONObject.parseObject(returnData); + JSONObject retData = returnJson.getJSONObject("Data"); + String retCode = retData.getString("retCode"); + String retMsg = retData.getString("retMsg"); + returnJson.put("retCode",retCode); + returnJson.put("retMsg",retMsg); + return returnJson; + } catch (Exception e) { + returnJson.put("retCode","9999"); + returnJson.put("retMsg","发送宁波银行OpenSDK返回转换Json错误"); + return returnJson; + } + } catch (Exception e) { + returnJson.put("retCode","9999"); + returnJson.put("retMsg","发送宁波银行OpenSDK错误"); + return returnJson; + } + } + + /** + * @param entity + * @content 此方法获取初始化参数,拼接请求参数 + * @author laborer + * @date 2024/5/27 0027 11:38 + */ + @Override + public SysExtensionApiEntity doChangeData(SysExtensionApiEntity entity) { + try { + if(entity == null ){ + return entity; + } + Map returnHeaders = new HashMap<>(); + JSONObject returnDataData = new JSONObject(); + JSONObject returnData = new JSONObject(); + Map headers = entity.getHeaders(); + String bodys = entity.getBodys(); + JSONObject data = JSONObject.parseObject(bodys); + + //先处理转发请求header + returnHeaders.put("yatl",headers.get("yatl")); + returnHeaders.put("yadj",headers.get("yadj")); + + returnDataData.put("appKey",headers.get("appKey")); + returnDataData.put("privateKey",headers.get("privateKey")); + returnDataData.put("publicUrl",headers.get("publicUrl")); + returnDataData.put("publicKey",headers.get("publicKey")); + returnDataData.put("productID",headers.get("productID")); + returnDataData.put("serviceID",headers.get("serviceID")); + data.put("custId",headers.get("custId")); + returnData.put("Data",data); + returnDataData.put("Data",returnData); + entity.setHeaders(returnHeaders); + entity.setBodys(returnDataData.toJSONString()); + } catch (Exception e) { + //发送内部处理方法错误 + logger.error("宁波银行内部转换接口错误:{}",e.getMessage()); + } + return entity; + } + + + + + public JSONObject getstrObj(String key, JSONObject object) { + if (checkStr(object.getString(key)) ) { + return object.getJSONObject(key); + } + return new JSONObject(); + } + /** + * @param str + * @return void + * @Author lvleigang + * @Description 校验字符串 + * @Date 11:41 上午 2022/12/7 + **/ + protected Boolean checkStr(String str) { + Boolean flag = true; + if (str == null || "".equals(str)) { + flag = false; + } + return flag; + } +} diff --git a/service/src/main/java/com/hzya/frame/sysnew/application/script/entity/SysApplicationScriptEntity.java b/service/src/main/java/com/hzya/frame/sysnew/application/script/entity/SysApplicationScriptEntity.java index 2502fd7e..142a078a 100644 --- a/service/src/main/java/com/hzya/frame/sysnew/application/script/entity/SysApplicationScriptEntity.java +++ b/service/src/main/java/com/hzya/frame/sysnew/application/script/entity/SysApplicationScriptEntity.java @@ -22,6 +22,8 @@ public class SysApplicationScriptEntity extends BaseEntity { private String className; /** 脚本内容 */ private String scriptData; + /** 返回脚本内容 */ + private String backScriptData; /** 描述 */ private String scriptRemark; /** 发布日期 */ @@ -112,5 +114,12 @@ public class SysApplicationScriptEntity extends BaseEntity { this.companyId = companyId; } + public String getBackScriptData() { + return backScriptData; + } + + public void setBackScriptData(String backScriptData) { + this.backScriptData = backScriptData; + } } diff --git a/service/src/main/java/com/hzya/frame/sysnew/application/script/entity/SysApplicationScriptEntity.xml b/service/src/main/java/com/hzya/frame/sysnew/application/script/entity/SysApplicationScriptEntity.xml index 2ce87f67..f0842ca2 100644 --- a/service/src/main/java/com/hzya/frame/sysnew/application/script/entity/SysApplicationScriptEntity.xml +++ b/service/src/main/java/com/hzya/frame/sysnew/application/script/entity/SysApplicationScriptEntity.xml @@ -10,6 +10,7 @@ + @@ -31,7 +32,8 @@ ,script_version ,class_name ,script_data - ,script_remark + ,back_script_data + ,script_remark ,release_date ,script_status ,sorts @@ -62,6 +64,7 @@ and script_version = #{scriptVersion} and class_name = #{className} and script_data = #{scriptData} + and back_script_data = #{backScriptData} and script_remark = #{scriptRemark} and release_date = #{releaseDate} and script_status = #{scriptStatus} @@ -90,6 +93,7 @@ and script_version = #{scriptVersion} and class_name = #{className} and script_data = #{scriptData} + and back_script_data = #{backScriptData} and script_remark = #{scriptRemark} and release_date = #{releaseDate} and script_status = #{scriptStatus} @@ -120,6 +124,7 @@ and script_version like concat('%',#{scriptVersion},'%') and class_name like concat('%',#{className},'%') and script_data like concat('%',#{scriptData},'%') + and back_script_data like concat('%',#{backScriptData},'%') and script_remark like concat('%',#{scriptRemark},'%') and release_date like concat('%',#{releaseDate},'%') and script_status like concat('%',#{scriptStatus},'%') @@ -150,6 +155,7 @@ or script_version = #{scriptVersion} or class_name = #{className} or script_data = #{scriptData} + or back_script_data = #{backScriptData} or script_remark = #{scriptRemark} or release_date = #{releaseDate} or script_status = #{scriptStatus} @@ -178,6 +184,7 @@ script_version , class_name , script_data , + back_script_data , script_remark , release_date , script_status , @@ -200,6 +207,7 @@ #{scriptVersion} , CONCAT('g','_',LAST_INSERT_ID()) , #{scriptData} , + #{backScriptData} , #{scriptRemark} , #{releaseDate} , #{scriptStatus} , @@ -217,18 +225,18 @@ - insert into sys_application_script(app_id, script_name, script_code, script_version, class_name, script_data, script_remark, release_date, script_status, create_user_id, create_time, modify_user_id, modify_time, sts, org_id, company_id, sts) + insert into sys_application_script(app_id, script_name, script_code, script_version, class_name, script_data,back_script_data, script_remark, release_date, script_status, create_user_id, create_time, modify_user_id, modify_time, sts, org_id, company_id, sts) values - (#{entity.appId},#{entity.scriptName},#{entity.scriptCode},#{entity.scriptVersion},#{entity.className},#{entity.scriptData},#{entity.scriptRemark},#{entity.releaseDate},#{entity.scriptStatus},#{entity.create_user_id},#{entity.create_time},#{entity.modify_user_id},#{entity.modify_time},#{entity.sts},#{entity.org_id},#{entity.companyId}, 'Y') + (#{entity.appId},#{entity.scriptName},#{entity.scriptCode},#{entity.scriptVersion},#{entity.className},#{entity.scriptData},#{entity.backScriptData},#{entity.scriptRemark},#{entity.releaseDate},#{entity.scriptStatus},#{entity.create_user_id},#{entity.create_time},#{entity.modify_user_id},#{entity.modify_time},#{entity.sts},#{entity.org_id},#{entity.companyId}, 'Y') - insert into sys_application_script(app_id, script_name, script_code, script_version, class_name, script_data, script_remark, release_date, script_status, create_user_id, create_time, modify_user_id, modify_time, sts, org_id, company_id) + insert into sys_application_script(app_id, script_name, script_code, script_version, class_name, script_data,back_script_data, script_remark, release_date, script_status, create_user_id, create_time, modify_user_id, modify_time, sts, org_id, company_id) values - (#{entity.appId},#{entity.scriptName},#{entity.scriptCode},#{entity.scriptVersion},#{entity.className},#{entity.scriptData},#{entity.scriptRemark},#{entity.releaseDate},#{entity.scriptStatus},#{entity.create_user_id},#{entity.create_time},#{entity.modify_user_id},#{entity.modify_time},#{entity.sts},#{entity.org_id},#{entity.companyId}) + (#{entity.appId},#{entity.scriptName},#{entity.scriptCode},#{entity.scriptVersion},#{entity.className},#{entity.scriptData},#{entity.backScriptData},#{entity.scriptRemark},#{entity.releaseDate},#{entity.scriptStatus},#{entity.create_user_id},#{entity.create_time},#{entity.modify_user_id},#{entity.modify_time},#{entity.sts},#{entity.org_id},#{entity.companyId}) on duplicate key update app_id = values(app_id), @@ -237,6 +245,7 @@ script_version = values(script_version), class_name = values(class_name), script_data = values(script_data), + back_script_data = values(back_script_data), script_remark = values(script_remark), release_date = values(release_date), script_status = values(script_status), @@ -257,6 +266,7 @@ update sys_application_script set script_version = #{scriptVersion}, class_name = #{className}, script_data = #{scriptData}, + back_script_data = #{backScriptData}, script_remark = #{scriptRemark}, release_date = #{releaseDate}, script_status = #{scriptStatus}, @@ -286,6 +296,7 @@ update sys_application_script set sts= 'N' ,modify_time = #{modify_time},modify and script_version = #{scriptVersion} and class_name = #{className} and script_data = #{scriptData} + and back_script_data = #{backScriptData} and script_remark = #{scriptRemark} and release_date = #{releaseDate} and script_status = #{scriptStatus} diff --git a/service/src/main/java/com/hzya/frame/sysnew/application/service/impl/SysApplicationServiceImpl.java b/service/src/main/java/com/hzya/frame/sysnew/application/service/impl/SysApplicationServiceImpl.java index 519e4415..8058f056 100644 --- a/service/src/main/java/com/hzya/frame/sysnew/application/service/impl/SysApplicationServiceImpl.java +++ b/service/src/main/java/com/hzya/frame/sysnew/application/service/impl/SysApplicationServiceImpl.java @@ -587,6 +587,7 @@ public class SysApplicationServiceImpl extends BaseService def3 , def4 , def5 , - sorts, sts, )values( @@ -326,7 +325,6 @@ #{def3} , #{def4} , #{def5} , - (select (max(IFNULL( a.sorts, 0 )) + 1) as sort from integration_task_living_details a WHERE a.sts = 'Y' ), 'Y', ) @@ -368,7 +366,6 @@ def3 , def4 , def5 , - sorts, sts, )values( @@ -405,7 +402,6 @@ #{def3} , #{def4} , #{def5} , - (select (max(IFNULL( a.sorts, 0 )) + 1) as sort from integration_task_living_details a WHERE a.sts = 'Y' ), 'Y', ) diff --git a/service/src/main/java/com/hzya/frame/sysnew/person/entity/SysPersonEntity.xml b/service/src/main/java/com/hzya/frame/sysnew/person/entity/SysPersonEntity.xml index 7ff0a07d..ea0abb65 100644 --- a/service/src/main/java/com/hzya/frame/sysnew/person/entity/SysPersonEntity.xml +++ b/service/src/main/java/com/hzya/frame/sysnew/person/entity/SysPersonEntity.xml @@ -228,7 +228,7 @@ a.id from sys_person a and a.id like concat('%',#{id},'%') - and a.organ_id like concat('%',#{organId},'%') + and a.organ_id = #{organId} and a.person_code like concat('%',#{personCode},'%') and a.person_name like concat('%',#{personName},'%') and a.sex like concat('%',#{sex},'%') diff --git a/service/src/main/webapp/WEB-INF/lib/DataApiSdk-jar-with-dependencies.jar b/service/src/main/resources/lib/DataApiSdk-jar-with-dependencies.jar similarity index 100% rename from service/src/main/webapp/WEB-INF/lib/DataApiSdk-jar-with-dependencies.jar rename to service/src/main/resources/lib/DataApiSdk-jar-with-dependencies.jar diff --git a/service/src/main/webapp/WEB-INF/lib/bcprov-jdk15on-1.57.jar b/service/src/main/resources/lib/bcprov-jdk15on-1.57.jar similarity index 100% rename from service/src/main/webapp/WEB-INF/lib/bcprov-jdk15on-1.57.jar rename to service/src/main/resources/lib/bcprov-jdk15on-1.57.jar diff --git a/service/src/main/webapp/WEB-INF/lib/bcprov-jdk15on-1.70.jar b/service/src/main/resources/lib/bcprov-jdk15on-1.70.jar similarity index 100% rename from service/src/main/webapp/WEB-INF/lib/bcprov-jdk15on-1.70.jar rename to service/src/main/resources/lib/bcprov-jdk15on-1.70.jar diff --git a/service/src/main/resources/lib/openBasicSDK-2.1.230630.jar b/service/src/main/resources/lib/openBasicSDK-2.1.230630.jar new file mode 100644 index 00000000..e7e5ce1b Binary files /dev/null and b/service/src/main/resources/lib/openBasicSDK-2.1.230630.jar differ diff --git a/service/src/main/webapp/WEB-INF/lib/pubbaseapp_nccloud_rtLevel-1.jar b/service/src/main/resources/lib/pubbaseapp_nccloud_rtLevel-1.jar similarity index 100% rename from service/src/main/webapp/WEB-INF/lib/pubbaseapp_nccloud_rtLevel-1.jar rename to service/src/main/resources/lib/pubbaseapp_nccloud_rtLevel-1.jar diff --git a/service/src/main/webapp/WEB-INF/lib/yonyoulog.jar b/service/src/main/resources/lib/yonyoulog.jar similarity index 100% rename from service/src/main/webapp/WEB-INF/lib/yonyoulog.jar rename to service/src/main/resources/lib/yonyoulog.jar diff --git a/webapp/src/main/java/com/hzya/frame/web/init/MyApplicationListener.java b/webapp/src/main/java/com/hzya/frame/web/init/MyApplicationListener.java index a24e46a8..566736e8 100644 --- a/webapp/src/main/java/com/hzya/frame/web/init/MyApplicationListener.java +++ b/webapp/src/main/java/com/hzya/frame/web/init/MyApplicationListener.java @@ -10,6 +10,7 @@ import com.hzya.frame.sysnew.integtationTaskLiving.entity.IntegrationTaskLivingE import com.hzya.frame.web.quartz.QuartzJobFactoryUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.context.event.ApplicationReadyEvent; import org.springframework.context.ApplicationListener; import org.springframework.core.annotation.Order; @@ -34,13 +35,17 @@ public class MyApplicationListener implements ApplicationListener