tao.mo

task-schedule | 修改 | 推送IMP001报文开发

mt
2024年11月20日17:55:54
Showing 29 changed files with 443 additions and 80 deletions
......@@ -16,6 +16,9 @@
<result column="MODIFY_TIME" jdbcType="TIMESTAMP" property="modifyTime" />
<result column="MODIFY_USER_ID" jdbcType="NUMERIC" property="modifyUserId" />
<result column="MODIFY_USER_NAME" jdbcType="VARCHAR" property="modifyUserName" />
<result column="EXT1" jdbcType="VARCHAR" property="ext1" />
<result column="EXT2" jdbcType="NUMERIC" property="ext2" />
<result column="EXT3" jdbcType="TIMESTAMP" property="ext3" />
</resultMap>
<sql id="Example_Where_Clause">
<where>
......@@ -77,7 +80,7 @@
</sql>
<sql id="Base_Column_List">
ID, CODE, NAME, VALUE, TYPE_CODE, TYPE_NAME, STATUS, DESCRIPTION, CREATE_TIME, CREATE_USER_ID,
CREATE_USER_NAME, MODIFY_TIME, MODIFY_USER_ID, MODIFY_USER_NAME
CREATE_USER_NAME, MODIFY_TIME, MODIFY_USER_ID, MODIFY_USER_NAME, EXT1, EXT2, EXT3
</sql>
<select id="selectByExample" parameterType="com.fedex.connect.common.model.sys.ParamConfigExample" resultMap="BaseResultMap">
<include refid="OracleDialectPrefix" />
......@@ -120,12 +123,14 @@
VALUE, TYPE_CODE, TYPE_NAME,
STATUS, DESCRIPTION, CREATE_TIME,
CREATE_USER_ID, CREATE_USER_NAME, MODIFY_TIME,
MODIFY_USER_ID, MODIFY_USER_NAME)
MODIFY_USER_ID, MODIFY_USER_NAME, EXT1,
EXT2, EXT3)
values (#{id,jdbcType=NUMERIC}, #{code,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR},
#{value,jdbcType=VARCHAR}, #{typeCode,jdbcType=VARCHAR}, #{typeName,jdbcType=VARCHAR},
#{status,jdbcType=NUMERIC}, #{description,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP},
#{createUserId,jdbcType=NUMERIC}, #{createUserName,jdbcType=VARCHAR}, #{modifyTime,jdbcType=TIMESTAMP},
#{modifyUserId,jdbcType=NUMERIC}, #{modifyUserName,jdbcType=VARCHAR})
#{modifyUserId,jdbcType=NUMERIC}, #{modifyUserName,jdbcType=VARCHAR}, #{ext1,jdbcType=VARCHAR},
#{ext2,jdbcType=NUMERIC}, #{ext3,jdbcType=TIMESTAMP})
</insert>
<insert id="insertSelective" parameterType="com.fedex.connect.common.model.sys.ParamConfig">
<selectKey keyProperty="id" order="BEFORE" resultType="java.lang.Long">
......@@ -173,6 +178,15 @@
<if test="modifyUserName != null">
MODIFY_USER_NAME,
</if>
<if test="ext1 != null">
EXT1,
</if>
<if test="ext2 != null">
EXT2,
</if>
<if test="ext3 != null">
EXT3,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
#{id,jdbcType=NUMERIC},
......@@ -215,6 +229,15 @@
<if test="modifyUserName != null">
#{modifyUserName,jdbcType=VARCHAR},
</if>
<if test="ext1 != null">
#{ext1,jdbcType=VARCHAR},
</if>
<if test="ext2 != null">
#{ext2,jdbcType=NUMERIC},
</if>
<if test="ext3 != null">
#{ext3,jdbcType=TIMESTAMP},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="com.fedex.connect.common.model.sys.ParamConfigExample" resultType="java.lang.Long">
......@@ -268,6 +291,15 @@
<if test="record.modifyUserName != null">
MODIFY_USER_NAME = #{record.modifyUserName,jdbcType=VARCHAR},
</if>
<if test="record.ext1 != null">
EXT1 = #{record.ext1,jdbcType=VARCHAR},
</if>
<if test="record.ext2 != null">
EXT2 = #{record.ext2,jdbcType=NUMERIC},
</if>
<if test="record.ext3 != null">
EXT3 = #{record.ext3,jdbcType=TIMESTAMP},
</if>
</set>
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
......@@ -288,7 +320,10 @@
CREATE_USER_NAME = #{record.createUserName,jdbcType=VARCHAR},
MODIFY_TIME = #{record.modifyTime,jdbcType=TIMESTAMP},
MODIFY_USER_ID = #{record.modifyUserId,jdbcType=NUMERIC},
MODIFY_USER_NAME = #{record.modifyUserName,jdbcType=VARCHAR}
MODIFY_USER_NAME = #{record.modifyUserName,jdbcType=VARCHAR},
EXT1 = #{record.ext1,jdbcType=VARCHAR},
EXT2 = #{record.ext2,jdbcType=NUMERIC},
EXT3 = #{record.ext3,jdbcType=TIMESTAMP}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
......@@ -335,6 +370,15 @@
<if test="modifyUserName != null">
MODIFY_USER_NAME = #{modifyUserName,jdbcType=VARCHAR},
</if>
<if test="ext1 != null">
EXT1 = #{ext1,jdbcType=VARCHAR},
</if>
<if test="ext2 != null">
EXT2 = #{ext2,jdbcType=NUMERIC},
</if>
<if test="ext3 != null">
EXT3 = #{ext3,jdbcType=TIMESTAMP},
</if>
</set>
where ID = #{id,jdbcType=NUMERIC}
</update>
......@@ -352,7 +396,10 @@
CREATE_USER_NAME = #{createUserName,jdbcType=VARCHAR},
MODIFY_TIME = #{modifyTime,jdbcType=TIMESTAMP},
MODIFY_USER_ID = #{modifyUserId,jdbcType=NUMERIC},
MODIFY_USER_NAME = #{modifyUserName,jdbcType=VARCHAR}
MODIFY_USER_NAME = #{modifyUserName,jdbcType=VARCHAR},
EXT1 = #{ext1,jdbcType=VARCHAR},
EXT2 = #{ext2,jdbcType=NUMERIC},
EXT3 = #{ext3,jdbcType=TIMESTAMP}
where ID = #{id,jdbcType=NUMERIC}
</update>
<sql id="OracleDialectPrefix">
......
......@@ -78,6 +78,21 @@ public class ParamConfig implements Serializable {
*/
private String modifyUserName;
/**
* 扩展字段1字符串
*/
private String ext1;
/**
* 扩展字段2数字
*/
private Long ext2;
/**
* 扩展字段3日期
*/
private Date ext3;
private static final long serialVersionUID = 1L;
public Long getId() {
......@@ -192,6 +207,30 @@ public class ParamConfig implements Serializable {
this.modifyUserName = modifyUserName == null ? null : modifyUserName.trim();
}
public String getExt1() {
return ext1;
}
public void setExt1(String ext1) {
this.ext1 = ext1 == null ? null : ext1.trim();
}
public Long getExt2() {
return ext2;
}
public void setExt2(Long ext2) {
this.ext2 = ext2;
}
public Date getExt3() {
return ext3;
}
public void setExt3(Date ext3) {
this.ext3 = ext3;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
......@@ -212,6 +251,9 @@ public class ParamConfig implements Serializable {
sb.append(", modifyTime=").append(modifyTime);
sb.append(", modifyUserId=").append(modifyUserId);
sb.append(", modifyUserName=").append(modifyUserName);
sb.append(", ext1=").append(ext1);
sb.append(", ext2=").append(ext2);
sb.append(", ext3=").append(ext3);
sb.append(", serialVersionUID=").append(serialVersionUID);
sb.append("]");
return sb.toString();
......
......@@ -1044,6 +1044,196 @@ public class ParamConfigExample {
addCriterion("MODIFY_USER_NAME not between", value1, value2, "modifyUserName");
return (Criteria) this;
}
public Criteria andExt1IsNull() {
addCriterion("EXT1 is null");
return (Criteria) this;
}
public Criteria andExt1IsNotNull() {
addCriterion("EXT1 is not null");
return (Criteria) this;
}
public Criteria andExt1EqualTo(String value) {
addCriterion("EXT1 =", value, "ext1");
return (Criteria) this;
}
public Criteria andExt1NotEqualTo(String value) {
addCriterion("EXT1 <>", value, "ext1");
return (Criteria) this;
}
public Criteria andExt1GreaterThan(String value) {
addCriterion("EXT1 >", value, "ext1");
return (Criteria) this;
}
public Criteria andExt1GreaterThanOrEqualTo(String value) {
addCriterion("EXT1 >=", value, "ext1");
return (Criteria) this;
}
public Criteria andExt1LessThan(String value) {
addCriterion("EXT1 <", value, "ext1");
return (Criteria) this;
}
public Criteria andExt1LessThanOrEqualTo(String value) {
addCriterion("EXT1 <=", value, "ext1");
return (Criteria) this;
}
public Criteria andExt1Like(String value) {
addCriterion("EXT1 like", value, "ext1");
return (Criteria) this;
}
public Criteria andExt1NotLike(String value) {
addCriterion("EXT1 not like", value, "ext1");
return (Criteria) this;
}
public Criteria andExt1In(List<String> values) {
addCriterion("EXT1 in", values, "ext1");
return (Criteria) this;
}
public Criteria andExt1NotIn(List<String> values) {
addCriterion("EXT1 not in", values, "ext1");
return (Criteria) this;
}
public Criteria andExt1Between(String value1, String value2) {
addCriterion("EXT1 between", value1, value2, "ext1");
return (Criteria) this;
}
public Criteria andExt1NotBetween(String value1, String value2) {
addCriterion("EXT1 not between", value1, value2, "ext1");
return (Criteria) this;
}
public Criteria andExt2IsNull() {
addCriterion("EXT2 is null");
return (Criteria) this;
}
public Criteria andExt2IsNotNull() {
addCriterion("EXT2 is not null");
return (Criteria) this;
}
public Criteria andExt2EqualTo(Long value) {
addCriterion("EXT2 =", value, "ext2");
return (Criteria) this;
}
public Criteria andExt2NotEqualTo(Long value) {
addCriterion("EXT2 <>", value, "ext2");
return (Criteria) this;
}
public Criteria andExt2GreaterThan(Long value) {
addCriterion("EXT2 >", value, "ext2");
return (Criteria) this;
}
public Criteria andExt2GreaterThanOrEqualTo(Long value) {
addCriterion("EXT2 >=", value, "ext2");
return (Criteria) this;
}
public Criteria andExt2LessThan(Long value) {
addCriterion("EXT2 <", value, "ext2");
return (Criteria) this;
}
public Criteria andExt2LessThanOrEqualTo(Long value) {
addCriterion("EXT2 <=", value, "ext2");
return (Criteria) this;
}
public Criteria andExt2In(List<Long> values) {
addCriterion("EXT2 in", values, "ext2");
return (Criteria) this;
}
public Criteria andExt2NotIn(List<Long> values) {
addCriterion("EXT2 not in", values, "ext2");
return (Criteria) this;
}
public Criteria andExt2Between(Long value1, Long value2) {
addCriterion("EXT2 between", value1, value2, "ext2");
return (Criteria) this;
}
public Criteria andExt2NotBetween(Long value1, Long value2) {
addCriterion("EXT2 not between", value1, value2, "ext2");
return (Criteria) this;
}
public Criteria andExt3IsNull() {
addCriterion("EXT3 is null");
return (Criteria) this;
}
public Criteria andExt3IsNotNull() {
addCriterion("EXT3 is not null");
return (Criteria) this;
}
public Criteria andExt3EqualTo(Date value) {
addCriterion("EXT3 =", value, "ext3");
return (Criteria) this;
}
public Criteria andExt3NotEqualTo(Date value) {
addCriterion("EXT3 <>", value, "ext3");
return (Criteria) this;
}
public Criteria andExt3GreaterThan(Date value) {
addCriterion("EXT3 >", value, "ext3");
return (Criteria) this;
}
public Criteria andExt3GreaterThanOrEqualTo(Date value) {
addCriterion("EXT3 >=", value, "ext3");
return (Criteria) this;
}
public Criteria andExt3LessThan(Date value) {
addCriterion("EXT3 <", value, "ext3");
return (Criteria) this;
}
public Criteria andExt3LessThanOrEqualTo(Date value) {
addCriterion("EXT3 <=", value, "ext3");
return (Criteria) this;
}
public Criteria andExt3In(List<Date> values) {
addCriterion("EXT3 in", values, "ext3");
return (Criteria) this;
}
public Criteria andExt3NotIn(List<Date> values) {
addCriterion("EXT3 not in", values, "ext3");
return (Criteria) this;
}
public Criteria andExt3Between(Date value1, Date value2) {
addCriterion("EXT3 between", value1, value2, "ext3");
return (Criteria) this;
}
public Criteria andExt3NotBetween(Date value1, Date value2) {
addCriterion("EXT3 not between", value1, value2, "ext3");
return (Criteria) this;
}
}
public static class Criteria extends GeneratedCriteria {
......
......@@ -40,7 +40,7 @@
sys:系统 系统相关表,例如kafka表
log: 日志 日志记录表,例如邮件发送日志表
-->
<javaModelGenerator targetPackage="com.fedex.connect.common.model.biz" targetProject="src/main/java">
<javaModelGenerator targetPackage="com.fedex.connect.common.model.sys" targetProject="src/main/java">
<!---enableSubPackages:如果true,MBG会根据catalog和schema来生成子包。如果false就会直接用targetPackage属性-->
<property name="enableSubPackages" value="false"/>
<!--该属性只对MyBatis3有效,如果true就会使用构造方法入参,如果false就会使用setter方式。默认为false-->
......@@ -52,13 +52,13 @@
</javaModelGenerator>
<!-- 生成映射文件*.xml的位置-->
<sqlMapGenerator targetPackage="mapper.biz" targetProject="src/main/java/com/fedex/connect/common">
<sqlMapGenerator targetPackage="mapper.sys" targetProject="src/main/java/com/fedex/connect/common">
<!--如果true,MBG会根据catalog和schema来生成子包。如果false就会直接用targetPackage属性。默认为false-->
<property name="enableSubPackages" value="false"/>
</sqlMapGenerator>
<!-- 生成DAO的包名和位置 -->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.fedex.connect.common.dao.biz" targetProject="src/main/java">
<javaClientGenerator type="XMLMAPPER" targetPackage="com.fedex.connect.common.dao.sys" targetProject="src/main/java">
<!--如果true,MBG会根据catalog和schema来生成子包。如果false就会直接用targetPackage属性。默认为false-->
<property name="enableSubPackages" value="false"/>
</javaClientGenerator>
......@@ -73,12 +73,12 @@
generatedKey 指定KEY,Oracle需要指定序列。
sqlStatement 指定序列名称
-->
<table schema="ICLEARIMP" tableName="T_BIZ_USER_CONSIGNMENT_MAPPING" domainObjectName="UserConsignmentMapping"
enableCountByExample="true" enableUpdateByExample="true"
enableDeleteByExample="true" enableSelectByExample="true"
selectByExampleQueryId="true">
<generatedKey column="ID" sqlStatement="SELECT SEQ_T_BIZ_USER_CONSIGNMENT_MAPPING.NEXTVAL FROM DUAL" />
</table>
<!-- <table schema="ICLEARIMP" tableName="T_BIZ_USER_CONSIGNMENT_MAPPING" domainObjectName="UserConsignmentMapping"-->
<!-- enableCountByExample="true" enableUpdateByExample="true"-->
<!-- enableDeleteByExample="true" enableSelectByExample="true"-->
<!-- selectByExampleQueryId="true">-->
<!-- <generatedKey column="ID" sqlStatement="SELECT SEQ_T_BIZ_USER_CONSIGNMENT_MAPPING.NEXTVAL FROM DUAL" />-->
<!-- </table>-->
<!-- <table schema="ICLEARIMP" tableName="T_LOG_OPERATION" domainObjectName="Operation"-->
......@@ -169,12 +169,12 @@
<!-- selectByExampleQueryId="true">-->
<!-- <generatedKey column="ID" sqlStatement="SELECT SEQ_T_SYS_KAFKA_TEMPORARY_STORAGE.NEXTVAL FROM DUAL" />-->
<!-- </table>-->
<!-- <table schema="ICLEARIMP" tableName="T_SYS_PARAM_CONFIG" domainObjectName="ParamConfig"-->
<!-- enableCountByExample="true" enableUpdateByExample="true"-->
<!-- enableDeleteByExample="true" enableSelectByExample="true"-->
<!-- selectByExampleQueryId="true">-->
<!-- <generatedKey column="ID" sqlStatement="SELECT SEQ_T_SYS_PARAM_CONFIG.NEXTVAL FROM DUAL" />-->
<!-- </table>-->
<table schema="ICLEARIMP" tableName="T_SYS_PARAM_CONFIG" domainObjectName="ParamConfig"
enableCountByExample="true" enableUpdateByExample="true"
enableDeleteByExample="true" enableSelectByExample="true"
selectByExampleQueryId="true">
<generatedKey column="ID" sqlStatement="SELECT SEQ_T_SYS_PARAM_CONFIG.NEXTVAL FROM DUAL" />
</table>
<!-- <table tableName="T_SYS_PRIVILEGE" domainObjectName="Privilege"-->
<!-- enableCountByExample="true" enableUpdateByExample="true"-->
<!-- enableDeleteByExample="true" enableSelectByExample="true"-->
......
......@@ -21,6 +21,8 @@ public interface ParamConfigConstants {
* @Date 2024/11/20
*/
interface TASK_PARAM_KEYS{
//推送TW001间隔配置key
String PUSH_IMP001_INTERVAL = "push_imp001_interval";
//推送进口文件定时任务处理数量
String PUSH_CON_NUMBER = "push_con_number";
//
......
......@@ -2,17 +2,18 @@ package com.fedex.connect.common.dependencies.repository.base;
import com.fedex.connect.common.dao.bi.DictionaryEntriesMapper;
import com.fedex.connect.common.dao.log.OperationMapper;
import com.fedex.connect.common.dao.sys.ParamConfigMapper;
import com.fedex.connect.common.dao.sys.RedisSlabMapper;
import com.fedex.connect.common.dependencies.repository.dao.UserMapperExt;
import org.springframework.beans.factory.annotation.Autowired;
public class BaseDao {
@Autowired
public UserMapperExt userMapperExt;
protected UserMapperExt userMapperExt;
@Autowired
public RedisSlabMapper redisSlabMapper;
protected RedisSlabMapper redisSlabMapper;
@Autowired
public DictionaryEntriesMapper dictionaryEntriesMapper;
protected DictionaryEntriesMapper dictionaryEntriesMapper;
@Autowired
public OperationMapper operationMapper;
protected OperationMapper operationMapper;
}
\ No newline at end of file
......
......@@ -134,9 +134,13 @@ public class DateUtil {
}
public static void main(String[] args){
String prematchFltDate = "2019-06-11 15:52:52";
prematchFltDate = prematchFltDate.length()>10 ? prematchFltDate.substring(10): prematchFltDate;
logger.info(prematchFltDate);
String ddd = "2024-11-20 16:00:00";
Date beginDate = parse(ddd,PATTERN_DATE_TIME);
Date endDate = new Date();
long diffInMilliseconds = Math.abs(endDate.getTime() - beginDate.getTime());
// 引用形式的描述信息
long diffInMinutes = diffInMilliseconds / (60 * 1000); // 将毫秒差值转换为分钟数
System.out.println(diffInMinutes);
}
/**
......
......@@ -12,7 +12,7 @@ import com.fedex.connect.manager.repository.dao.RoleExtMapper;
import com.fedex.connect.manager.repository.dao.RolePrivilegeExtMapper;
import org.springframework.beans.factory.annotation.Autowired;
public class BaseDao {
public class AbstractDaoRepository {
@Autowired
public UserLoginInfoMapper userLoginInfoMapper;
@Autowired
......
......@@ -5,6 +5,6 @@ import org.apache.ibatis.annotations.Select;
public interface ParamConfigExtMapper {
@Select("SELECT VALUE FROM T_SYS_PARAM_CONFIG WHERE CODE = #{code}")
@Select("SELECT VALUE FROM T_SYS_PARAM_CONFIG WHERE CODE = #{code} AND STATUS = 1")
String findValueByCode(@Param("code") String code);
}
......
......@@ -3,7 +3,7 @@ package com.fedex.connect.manager.repository.repo.bi.impl;
import com.fedex.connect.common.dependencies.cache.CacheSystem;
import com.fedex.connect.common.dependencies.contants.DictionaryConstants;
import com.fedex.connect.common.model.bi.DictionaryEntries;
import com.fedex.connect.manager.repository.base.BaseDao;
import com.fedex.connect.manager.repository.base.AbstractDaoRepository;
import com.fedex.connect.manager.repository.repo.bi.IDicEntriesRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
......@@ -16,7 +16,7 @@ import java.util.List;
* @Date 2024/11/6
*/
@Repository
public class DicEntriesRepositoryImpl extends BaseDao implements IDicEntriesRepository {
public class DicEntriesRepositoryImpl extends AbstractDaoRepository implements IDicEntriesRepository {
@Autowired
CacheSystem cacheSystem;
......
package com.fedex.connect.manager.repository.repo.log.impl;
import com.fedex.connect.common.model.log.UserLoginInfo;
import com.fedex.connect.manager.repository.base.BaseDao;
import com.fedex.connect.manager.repository.base.AbstractDaoRepository;
import com.fedex.connect.manager.repository.repo.log.IUserLoginLogRepository;
import org.springframework.stereotype.Repository;
@Repository
public class UserLoginLogRepositoryImpl extends BaseDao implements IUserLoginLogRepository {
public class UserLoginLogRepositoryImpl extends AbstractDaoRepository implements IUserLoginLogRepository {
@Override
public int insert(UserLoginInfo userLoginInfo) {
......
package com.fedex.connect.manager.repository.repo.sys;
public interface IParamConfigExtRepository {
public interface IParamConfigRepository {
String findValueByCode(String code);
}
......
package com.fedex.connect.manager.repository.repo.sys.impl;
import com.fedex.connect.manager.repository.base.BaseDao;
import com.fedex.connect.manager.repository.repo.sys.IParamConfigExtRepository;
import com.fedex.connect.manager.repository.base.AbstractDaoRepository;
import com.fedex.connect.manager.repository.repo.sys.IParamConfigRepository;
import org.springframework.stereotype.Repository;
@Repository
public class ParamConfigExtRepositoryImpl extends BaseDao implements IParamConfigExtRepository {
public class ParamConfigRepositoryImpl extends AbstractDaoRepository implements IParamConfigRepository {
@Override
public String findValueByCode(String code) {
......
package com.fedex.connect.manager.repository.repo.sys.impl;
import com.fedex.connect.common.model.sys.Privilege;
import com.fedex.connect.manager.repository.base.BaseDao;
import com.fedex.connect.manager.repository.base.AbstractDaoRepository;
import com.fedex.connect.manager.repository.repo.sys.IPrivilegeRepository;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public class PrivilegeRepositoryImpl extends BaseDao implements IPrivilegeRepository {
public class PrivilegeRepositoryImpl extends AbstractDaoRepository implements IPrivilegeRepository {
@Override
public List<Privilege> findPrivilegesByIds(List<Long> ids) {
......
......@@ -2,14 +2,14 @@ package com.fedex.connect.manager.repository.repo.sys.impl;
import com.fedex.connect.common.model.sys.RedisSlab;
import com.fedex.connect.common.model.sys.RedisSlabExample;
import com.fedex.connect.manager.repository.base.BaseDao;
import com.fedex.connect.manager.repository.base.AbstractDaoRepository;
import com.fedex.connect.manager.repository.repo.sys.IRedisSlabRepository;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public class RedisSlabExtImpl extends BaseDao implements IRedisSlabRepository {
public class RedisSlabExtImpl extends AbstractDaoRepository implements IRedisSlabRepository {
@Override
public int insert(RedisSlab record) {
......
package com.fedex.connect.manager.repository.repo.sys.impl;
import com.fedex.connect.manager.repository.base.BaseDao;
import com.fedex.connect.manager.repository.base.AbstractDaoRepository;
import com.fedex.connect.manager.repository.repo.sys.IRolePrivilegeRepository;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
......@@ -8,7 +8,7 @@ import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public class RolePrivilegeRepositoryImpl extends BaseDao implements IRolePrivilegeRepository {
public class RolePrivilegeRepositoryImpl extends AbstractDaoRepository implements IRolePrivilegeRepository {
public List<Long> findByRoleIds(@Param("roleIds") List<Long> roleIds){
return rolePrivilegeExtMapper.findByRoleIds(roleIds);
}
......
......@@ -2,14 +2,14 @@ package com.fedex.connect.manager.repository.repo.sys.impl;
import com.fedex.connect.common.model.sys.Role;
import com.fedex.connect.common.model.sys.RoleExample;
import com.fedex.connect.manager.repository.base.BaseDao;
import com.fedex.connect.manager.repository.base.AbstractDaoRepository;
import com.fedex.connect.manager.repository.repo.sys.IRoleRepository;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public class RoleRepositoryImpl extends BaseDao implements IRoleRepository {
public class RoleRepositoryImpl extends AbstractDaoRepository implements IRoleRepository {
@Override
public List<Role> selectByExample(RoleExample example) {
......
......@@ -2,14 +2,14 @@ package com.fedex.connect.manager.repository.repo.sys.impl;
import com.fedex.connect.common.model.sys.User;
import com.fedex.connect.common.model.sys.UserExample;
import com.fedex.connect.manager.repository.base.BaseDao;
import com.fedex.connect.manager.repository.base.AbstractDaoRepository;
import com.fedex.connect.manager.repository.repo.sys.IUserRepository;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public class UserExtRepositoryImpl extends BaseDao implements IUserRepository {
public class UserExtRepositoryImpl extends AbstractDaoRepository implements IUserRepository {
@Override
public List<User> selectByExample(UserExample example) {
......
......@@ -2,14 +2,14 @@ package com.fedex.connect.manager.repository.repo.sys.impl;
import com.fedex.connect.common.model.sys.UserRole;
import com.fedex.connect.common.model.sys.UserRoleExample;
import com.fedex.connect.manager.repository.base.BaseDao;
import com.fedex.connect.manager.repository.base.AbstractDaoRepository;
import com.fedex.connect.manager.repository.repo.sys.IUserRoleRepository;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public class UserRoleRepositoryImpl extends BaseDao implements IUserRoleRepository {
public class UserRoleRepositoryImpl extends AbstractDaoRepository implements IUserRoleRepository {
@Override
public List<UserRole> selectByExample(UserRoleExample example) {
......
package com.fedex.connect.manager.util;
import com.fedex.connect.manager.repository.repo.sys.IParamConfigExtRepository;
import com.fedex.connect.manager.repository.repo.sys.IParamConfigRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
......@@ -13,7 +13,7 @@ import org.springframework.stereotype.Component;
public class ParamConfigUtil {
@Autowired
private IParamConfigExtRepository paramConfigExtRepository;
private IParamConfigRepository paramConfigExtRepository;
/**
* @Author Szl
......
package com.fedex.connect.task.aspect;
import com.fedex.connect.common.dependencies.util.DateUtil;
import com.fedex.connect.common.model.sys.ParamConfig;
import com.fedex.connect.task.annotation.ProcessingInterval;
import com.fedex.connect.task.repository.repo.sys.IParamConfigRepository;
import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.Signature;
......@@ -10,9 +13,14 @@ import org.aspectj.lang.annotation.Pointcut;
import org.aspectj.lang.reflect.MethodSignature;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;
import java.lang.reflect.Method;
import java.time.temporal.ChronoUnit;
import java.util.Date;
import java.util.Objects;
/**
* @Author mt
......@@ -23,7 +31,8 @@ import java.lang.reflect.Method;
@Slf4j
@Component
public class ExecuteAspect {
private Logger log = LoggerFactory.getLogger(ExecuteAspect.class);
@Autowired
IParamConfigRepository paramConfigRepository;
@Pointcut("@annotation(com.fedex.connect.task.annotation.ProcessingInterval)")
public void executePointCut()
......@@ -42,14 +51,51 @@ public class ExecuteAspect {
Signature signature = pjp.getSignature();
MethodSignature methodSignature = (MethodSignature) signature;
Method method = methodSignature.getMethod();
//判断该定时任务是否执行
boolean execute = this.isExecute(processingTime);
if(execute) {
long begin = System.currentTimeMillis();
log.info("{} Job Task Start......", method.getName());
obj = pjp.proceed();
long end = System.currentTimeMillis();
log.info("{} Job Task end......execution time--{}ms", method.getName(),(end-begin));
log.info("{} Job Task end......execution time--{}ms", method.getName(), (end - begin));
}
}catch(Throwable throwable){
log.error("ExecuteAspect.executeAround error : " + throwable.getMessage() , throwable);
}
return obj;
}
/**
* @Author mt
* @Description 判断定时任务是否执行
* @Date 2024/11/20
* @param processingInterval
* @return boolean
*/
private boolean isExecute(ProcessingInterval processingInterval){
boolean execute = true;
if(Objects.nonNull(processingInterval)){
String paramCode = processingInterval.paramCode();
if(StringUtils.hasText(paramCode)){
ParamConfig paramConfig = paramConfigRepository.findValueByCode(paramCode);
if(Objects.nonNull(paramConfig)
&& Objects.nonNull(paramConfig.getValue())
&& Objects.nonNull(paramConfig.getExt3())){
//任务执行间隔
Long interval = Long.valueOf(paramConfig.getValue());
Date lastExecutionTime = paramConfig.getExt3();
Date endDate = new Date();
long diffInMilliseconds = Math.abs(endDate.getTime() - lastExecutionTime.getTime());
// 将毫秒差值转换为分钟数
long diffInMinutes = diffInMilliseconds / (60 * 1000);
//上次执行时间小于间隔时间,则本次任务不进行执行
if(diffInMinutes < interval){
execute = false;
}
}
}
}
return execute;
}
}
\ No newline at end of file
......
package com.fedex.connect.task.job;
import com.fedex.connect.common.dependencies.contants.ParamConfigConstants;
import com.fedex.connect.task.annotation.ProcessingInterval;
import com.fedex.connect.task.service.biz.IPushObService;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -20,10 +21,9 @@ public class Imp001Job {
/**
* 推送Imp001数据给到进口组
*/
@ProcessingInterval
@ProcessingInterval(paramCode = ParamConfigConstants.TASK_PARAM_KEYS.PUSH_IMP001_INTERVAL)
@Scheduled(cron = "${export.task.allocation.sendOb}")
public void sendObTask() {
sendObService.sendOb();
}
......
......@@ -5,6 +5,7 @@ import com.fedex.connect.common.dao.biz.PushObMapper;
import com.fedex.connect.common.dao.log.EmailHistoryMapper;
import com.fedex.connect.common.dao.sys.KafkaStorageHistoryMapper;
import com.fedex.connect.common.dao.sys.KafkaTemporaryStorageMapper;
import com.fedex.connect.common.dao.sys.ParamConfigMapper;
import com.fedex.connect.task.repository.dao.*;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -32,5 +33,5 @@ public class AbstractDaoRepository {
@Autowired
protected PushObMapperExt pushObMapperExt;
@Autowired
protected ParamConfigExtMapper paramConfigExtMapper;
protected ParamConfigMapper paramConfigMapper;
}
\ No newline at end of file
......
......@@ -11,18 +11,18 @@ import java.util.List;
public interface PushObMapperExt {
@Select( "<script>" +
"SELECT * FROM T_PUSH_OB_LOG WHERE PUSH_STATUS = #{pushStatus,jdbcType=NUMERIC} AND ROWNUM &lt;= 500" +
"SELECT * FROM T_PUSH_OB_LOG WHERE STATUS_CODE = #{statusCode,jdbcType=VARCHAR} AND ROWNUM &lt;= 500" +
"</script>")
List<PushOb> findPushObByStatus(@Param("pushStatus") Long pushStatus);
List<PushOb> findPushObByStatus(@Param("statusCode") String statusCode);
@Select( "<script>" +
"SELECT * FROM T_PUSH_OB_LOG WHERE PUSH_NUM &lt; #{pushNum,jdbcType=NUMERIC} AND PUSH_STATUS = #{pushStatus,jdbcType=NUMERIC} AND ROWNUM &lt;= 500" +
"SELECT * FROM T_PUSH_OB_LOG WHERE PUSH_NUM &lt; #{pushNum,jdbcType=NUMERIC} AND STATUS_CODE = #{statusCode,jdbcType=VARCHAR} AND ROWNUM &lt;= 500" +
"</script>")
List<PushOb> findPushObByStatusAndNum(@Param("pushNum") Long pushNum, @Param("pushStatus") Long pushStatus);
List<PushOb> findPushObByStatusAndNum(@Param("pushNum") Long pushNum, @Param("statusCode") String statusCode);
@Select( "<script>" +
"SELECT count(*) FROM T_PUSH_OB_LOG WHERE PUSH_NUM &gt;= #{pushNum,jdbcType=NUMERIC} AND PUSH_STATUS = #{pushStatus,jdbcType=NUMERIC} " +
"SELECT count(*) FROM T_PUSH_OB_LOG WHERE PUSH_NUM &gt;= #{pushNum,jdbcType=NUMERIC} AND PUSH_STATUS = #{statusCode,jdbcType=VARCHAR} " +
"AND TRUNC(CREATE_TIME) = TRUNC(TO_DATE(#{date,jdbcType=VARCHAR}, 'YYYY-MM-DD'))" +
"</script>")
Integer findErrPushForEmail(@Param("pushNum") Long pushNum, @Param("pushStatus") Long pushStatus, @Param("date") String date);
Integer findErrPushForEmail(@Param("pushNum") Long pushNum, @Param("statusCode") String statusCode, @Param("date") String date);
}
......
......@@ -27,20 +27,20 @@ public interface IPushObRepository {
* @Author mt
* @Description 根据推送次数,推送状态查找需要推送记录
* @Date 2024/11/20
* @param pushStatus
* @param statusCode
* @return java.util.List<com.fedex.connect.common.model.biz.PushOb>
*/
List<PushOb> findPushOb(Long pushStatus);
List<PushOb> findPushOb(String statusCode);
/**
* @Author mt
* @Description 根据推送次数,推送状态查找需要推送记录
* @Date 2024/11/20
* @param pushNum
* @param pushStatus
* @param statusCode
* @return java.util.List<com.fedex.connect.common.model.biz.PushOb>
*/
List<PushOb> findErrPushOb(Long pushNum,Long pushStatus);
List<PushOb> findErrPushOb(Long pushNum,String statusCode);
Integer findErrPushForEmail(Long pushNum,Long pushStatus,String date);
Integer findErrPushForEmail(Long pushNum,String statusCode,String date);
}
......
......@@ -36,30 +36,30 @@ public class PushObRepositoryImpl extends AbstractDaoRepository implements IPush
/**
* @Author mt
* @Description 根据推送次数,推送状态查找需要推送记录
* @Date 2024/5/24
* @param pushStatus
* @return java.util.List<com.fedex.export.repository.entity.PushOb>
* @Date 2024/11/20
* @param statusCode
* @return java.util.List<com.fedex.connect.common.model.biz.PushOb>
*/
@Override
public List<PushOb> findPushOb(Long pushStatus) {
return pushObMapperExt.findPushObByStatus(pushStatus);
public List<PushOb> findPushOb(String statusCode) {
return pushObMapperExt.findPushObByStatus(statusCode);
}
/**
* @Author mt
* @Description 根据推送次数,推送状态查找需要推送记录
* @Date 2024/5/24
* @Date 2024/11/20
* @param pushNum
* @param pushStatus
* @return java.util.List<com.fedex.export.repository.entity.PushOb>
* @param statusCode
* @return java.util.List<com.fedex.connect.common.model.biz.PushOb>
*/
@Override
public List<PushOb> findErrPushOb(Long pushNum, Long pushStatus) {
return pushObMapperExt.findPushObByStatusAndNum(pushNum,pushStatus);
public List<PushOb> findErrPushOb(Long pushNum, String statusCode) {
return pushObMapperExt.findPushObByStatusAndNum(pushNum,statusCode);
}
@Override
public Integer findErrPushForEmail(Long pushNum, Long pushStatus, String date) {
return pushObMapperExt.findErrPushForEmail(pushNum,pushStatus,date);
public Integer findErrPushForEmail(Long pushNum, String statusCode, String date) {
return pushObMapperExt.findErrPushForEmail(pushNum,statusCode,date);
}
}
......
package com.fedex.connect.task.repository.repo.sys;
import com.fedex.connect.common.model.sys.ParamConfig;
public interface IParamConfigRepository {
ParamConfig findValueByCode(String code);
}
package com.fedex.connect.task.repository.repo.sys.impl;
import com.fedex.connect.common.dependencies.enums.base.StatusEnum;
import com.fedex.connect.common.model.sys.ParamConfig;
import com.fedex.connect.common.model.sys.ParamConfigExample;
import com.fedex.connect.task.repository.base.AbstractDaoRepository;
import com.fedex.connect.task.repository.repo.sys.IParamConfigRepository;
import org.springframework.stereotype.Repository;
import org.springframework.util.CollectionUtils;
@Repository
public class ParamConfigRepositoryImpl extends AbstractDaoRepository implements IParamConfigRepository {
@Override
public ParamConfig findValueByCode(String code) {
ParamConfigExample example = new ParamConfigExample();
ParamConfigExample.Criteria criteria = example.createCriteria();
criteria.andCodeEqualTo(code);
criteria.andStatusEqualTo(StatusEnum.YES.getCode());
return CollectionUtils.firstElement(paramConfigMapper.selectByExample(example));
}
}
\ No newline at end of file
package com.fedex.connect.task.service.biz.impl;
import com.fedex.connect.common.dependencies.enums.biz.PushObStatusEnum;
import com.fedex.connect.common.model.biz.Consignment;
import com.fedex.connect.common.model.biz.PushOb;
import com.fedex.connect.task.service.base.BaseService;
......@@ -28,7 +29,7 @@ public class PushObServiceImpl extends BaseService implements IPushObService {
@Override
public void sendOb() {
//获取需要处理的记录
// List<PushObLog> pushObLogList = pushObLogRepository.findPushObLog(Constant.SEND_TW001_KEYS.PUSH_OB_STATUS_WAIT);
List<PushOb> pushObLogList = pushObRepository.findPushOb(PushObStatusEnum.TO_BE_SENT.getCode());
}
/**
......