Bläddra i källkod

待签收状态下 签发有效期超出时间范围融信状态变为失效

peixh 4 år sedan
förälder
incheckning
e853342ab4

+ 8 - 0
taskMan/src/main/java/com/huyi/task/taskMan/mapper/FinanceTimedTaskMapper.java

@@ -27,6 +27,14 @@ public interface FinanceTimedTaskMapper
     public List<Map> selectFinanceInfDetail(Map map);
 
     /**
+     * 查询融信列表是否已失效数据(待生效状态
+     * @param map
+     * @return
+     */
+    public List<Map> selectFinanceDetail(Map map);
+
+
+    /**
      * 查询未还款融资纪录
      * @param map
      * @return

+ 38 - 3
taskMan/src/main/java/com/huyi/task/taskMan/schedule/FinanceTimedTask.java

@@ -235,7 +235,7 @@ public class FinanceTimedTask {
     }
 
     /**
-     * 融信失效定时跑批
+     * 融信失效定时跑批(已生效状态
      */
     //每十分钟
 //    @Scheduled(cron = "0 */10 * * * ?")
@@ -250,12 +250,14 @@ public class FinanceTimedTask {
             String zfiId = CommonUtil.objToString(list.get(i).get("zfiId"));
             //签发有效期
             String zfiEffectiveDate = CommonUtil.objToString(list.get(i).get("zfiEffectiveDate"));
+            //承诺还款日
+            String zfiExpireDate = CommonUtil.objToString(list.get(i).get("zfiExpireDate"));
             //最短账期
             int zfpShortestPeriod = Integer.parseInt(list.get(i).get("zfpShortestPeriod")+"");
             //String 转 Date
             SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");//注意月份是MM
-            Date date = simpleDateFormat.parse(zfiEffectiveDate);
-            //签发有效期 - 最短账期(天数) = 失效日期
+            Date date = simpleDateFormat.parse(zfiExpireDate);
+            //承诺还款日 - 最短账期(天数) = 失效日期
             GregorianCalendar cal = new GregorianCalendar();
             cal.setTime(date);
             cal.add(Calendar.DATE, -zfpShortestPeriod);
@@ -271,6 +273,7 @@ public class FinanceTimedTask {
                 zcFinanceInf.setZfiId(zfiId);
                 //状态(00:待确权 01:待签收 02:已生效 03:已失效 04:融资中 05:已融资 06:平台退回 07:已失效(到期失效) 99:删除)
                 zcFinanceInf.setZfiStatus("07");
+                iZcFinanceInfService.updateZcFinanceInf(zcFinanceInf);
                 //修改待办表
                 LambdaQueryWrapper<SysNotice> queryWrapper = new LambdaQueryWrapper<>();
                 queryWrapper.eq(SysNotice::getTableId,zfiId);
@@ -283,6 +286,38 @@ public class FinanceTimedTask {
     }
 
     /**
+     * 融信失效定时跑批(待签收状态下 签发有效期超出时间范围融信状态变为失效
+     */
+    //每十分钟
+//    @Scheduled(cron = "0 */10 * * * ?")
+    //每天凌晨一点
+    @Scheduled(cron = "0 0 1 * * ?")
+    private void statusFinance(){
+        Map map = new HashMap();
+        List<Map> list = financeTimedTaskService.selectFinanceDetail(map);
+        for (int i = 0; i < list.size(); i++) {
+            //融信id
+            String zfiId = CommonUtil.objToString(list.get(i).get("zfiId"));
+            //签发有效期
+            String zfiEffectiveDate = CommonUtil.objToString(list.get(i).get("zfiEffectiveDate"));
+            Date date = DateUtils.dateTime("yyyyMMdd",zfiEffectiveDate);
+            String effectiveDate = DateUtils.parseDateToStr("yyyyMMdd",date);
+            //当前时间
+            String dateTime = DateUtils.dateTimeNow("yyyyMMdd");
+            int result = CommonUtil.compare(dateTime,effectiveDate);
+            if (result >= 1){
+                //修改融信表
+                ZcFinanceInf zcFinanceInf = new ZcFinanceInf();
+                //主键
+                zcFinanceInf.setZfiId(zfiId);
+                //状态(00:待确权 01:待签收 02:已生效 03:已失效 04:融资中 05:已融资 06:平台退回 07:已失效(到期失效) 99:删除)
+                zcFinanceInf.setZfiStatus("07");
+                iZcFinanceInfService.updateZcFinanceInf(zcFinanceInf);
+            }
+        }
+    }
+
+    /**
      * 融资还款逾期定时跑批
      */
     //每十分钟

+ 8 - 1
taskMan/src/main/java/com/huyi/task/taskMan/service/FinanceTimedTaskService.java

@@ -21,13 +21,20 @@ public interface FinanceTimedTaskService
     public List<Map> selectFinanceInfList(Map map);
 
     /**
-     * 查询融信列表是否已失效数据
+     * 查询融信列表是否已失效数据(已生效状态
      * @param map
      * @return
      */
     public List<Map> selectFinanceInfDetail(Map map);
 
     /**
+     * 查询融信列表是否已失效数据(待生效状态
+     * @param map
+     * @return
+     */
+    public List<Map> selectFinanceDetail(Map map);
+
+    /**
      * 查询未还款融资纪录
      * @param map
      * @return

+ 3 - 0
taskMan/src/main/java/com/huyi/task/taskMan/service/impl/FinanceTimedTaskServiceImpl.java

@@ -31,6 +31,9 @@ public class FinanceTimedTaskServiceImpl implements FinanceTimedTaskService
     public List<Map> selectFinanceInfDetail(Map map){return financeTimedTaskMapper.selectFinanceInfDetail(map);}
 
     @Override
+    public List<Map> selectFinanceDetail(Map map){return financeTimedTaskMapper.selectFinanceDetail(map);}
+
+    @Override
     public List<Map> selectFinanceInfRecord(Map map){return financeTimedTaskMapper.selectFinanceInfRecord(map);}
 
 }

+ 15 - 0
taskMan/src/main/resources/mapper/taskMan/FinanceTimedTaskMapper.xml

@@ -8,6 +8,7 @@
           i.zfi_number            'zfiNumber',
           i.zfi_amount            'zfiAmount',
           i.zfi_effective_date    'zfiEffectiveDate',
+          i.zfi_expire_date       'zfiExpireDate'
           p.zfp_shortest_period   'zfpShortestPeriod',
           u.sucr_user_id          'sucrUserId',
           u.sucr_company_id       'sucrCompanyId',
@@ -36,6 +37,7 @@
           zfi_id                'zfiId',
           zfi_number            'zfiNumber',
           zfi_effective_date    'zfiEffectiveDate',
+          zfi_expire_date       'zfiExpireDate'
           zfp_shortest_period   'zfpShortestPeriod'
         FROM
           zc_finance_inf
@@ -43,6 +45,19 @@
             ON zfp_id = zfi_product_id
         WHERE zfi_status = '02'
     </select>
+    <select id="selectFinanceDetail" parameterType="map" resultType="map">
+        SELECT
+          zfi_id                'zfiId',
+          zfi_number            'zfiNumber',
+          DATE_FORMAT(zfi_effective_date,'%Y-%m-%d')    'zfiEffectiveDate',
+          DATE_FORMAT(zfi_expire_date,'%Y-%m-%d') AS 	'zfiExpireDate',
+          zfp_shortest_period   'zfpShortestPeriod'
+        FROM
+          zc_finance_inf
+          LEFT JOIN zc_finance_product
+            ON zfp_id = zfi_product_id
+        WHERE zfi_status = '01'
+    </select>
     <select id="selectFinanceInfRecord" parameterType="map" resultType="map">
         SELECT
           zfr_id                'zfrId',