Quellcode durchsuchen

融信查询,拒绝放款

peixh vor 4 Jahren
Ursprung
Commit
16f3b76a5e

+ 5 - 1
sc-service/src/main/java/com/huyi/service/base/entity/ZcFinanceRecord.java

@@ -223,5 +223,9 @@ public class ZcFinanceRecord implements Serializable {
     @TableField("update_time")
     private Date updateTime;
 
-
+    /**
+     * 拒绝放款原因
+     */
+    @TableField("zfr_reason")
+    private String zfrReason;
 }

+ 35 - 7
sc-service/src/main/java/com/huyi/service/common/financeInf/controller/FinanceInfController.java

@@ -52,12 +52,22 @@ public class FinanceInfController extends BaseController {
         //申请融资用
         for (int i = 0; i < list.size(); i++) {
             Map<String,String>  m = (Map<String, String>) list.get(i);
+            //申请金额(融资金额)
+            String zfiAmount = m.get("zfiAmount");
+            //利率(融资费率)
+            String zfpcrRate = m.get("zfpcrRate");
+            //平台服务费收取费率(服务费率)
+            String zfpcrChargeRate = m.get("zfpcrChargeRate");
+            //放款日期
+            String zfrLoanDate = m.get("zfrLoanDate");
+            //融资状态
+            String zfrStatus = m.get("zfrStatus");
             //当前时间
             Date nowDate = DateUtils.getNowDate();
             //承诺付款日期
             String zfiExpireDate = CommonUtil.objToString(m.get("zfiExpireDate"));
             SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");//注意月份是MM
-            Date expireDate = simpleDateFormat.parse("zfiExpireDate");
+            Date expireDate = simpleDateFormat.parse(zfiExpireDate);
             /*预计融资期限:申请日期(当前日期) 到 承诺付款日期 间隔天数*/
             String term = DateUtils.getDatePoor(expireDate,nowDate);
             term = StringUtils.substringBefore(term,"天");
@@ -65,12 +75,6 @@ public class FinanceInfController extends BaseController {
                 term = StringUtils.substringAfter(term,"-");
             }
             /*预计融资成本:融资金额*融资费率*预计融资期限 / 365 + 融资金额 * 服务费率*/
-            //申请金额(融资金额)
-            String zfiAmount = m.get("zfiAmount");
-            //利率(融资费率)
-            String zfpcrRate = m.get("zfpcrRate");
-            //平台服务费收取费率(服务费率)
-            String zfpcrChargeRate = m.get("zfpcrChargeRate");
             //融资金额 * 服务费率
             String money  = AmtUtil.multiply(zfiAmount,zfpcrChargeRate,2);
             //预计融资成本
@@ -80,6 +84,30 @@ public class FinanceInfController extends BaseController {
             cost = AmtUtil.add(cost,money,2);
             /*预计净融资额:融资金额 – 预计融资成本*/
             String amount = AmtUtil.subtract(zfiAmount,cost,2);
+            /*融资放款后:三个预计值,改为实际值*/
+            if ("01".equals(zfrStatus)){
+                //放款日期
+                Date loanDate = simpleDateFormat.parse(zfrLoanDate);
+                /*融资期限:放款日期 至 承诺付款日期 间隔天数*/
+                String termIng = DateUtils.getDatePoor(expireDate,loanDate);
+                termIng = StringUtils.substringBefore(termIng,"天");
+                if (termIng.indexOf("-") != -1){
+                    termIng = StringUtils.substringAfter(termIng,"-");
+                }
+                /*融资成本:融资金额*融资费率*融资期限 / 365 + 融资金额 * 服务费率*/
+                String costIng = AmtUtil.multiply(zfiAmount,zfpcrRate,2);
+                costIng = AmtUtil.multiply(costIng,termIng,2);
+                costIng = AmtUtil.divide(costIng,"365");
+                costIng = AmtUtil.add(costIng,money,2);
+                /*净融资额:融资金额 – 融资成本*/
+                String amountIng = AmtUtil.subtract(zfiAmount,costIng,2);
+                //融资期限
+                m.put("termIng",termIng);
+                //融资成本
+                m.put("costIng",costIng);
+                //净融资额
+                m.put("amountIng",amountIng);
+            }
             //预计融资期限
             m.put("term",term);
             //预计融资成本

+ 65 - 35
sc-service/src/main/java/com/huyi/service/financeRecord/controller/FinanceRecordController.java

@@ -401,54 +401,84 @@ public class FinanceRecordController extends BaseController {
         String zfrAmount = CommonUtil.objToString(map.get("zfrAmount"));
         //融信id
         String zfrFinanceId = CommonUtil.objToString(map.get("zfrFinanceId"));
-        //授信额度
-        if(CommonUtil.isNotEmpty(zfrLoanAmount)) {
-            if(AmtUtil.isMoney(zfrLoanAmount) == false) {
-                return AjaxResult.error("请输入正确的放款金额");
-            }
-        }else {
-            return AjaxResult.error("放款金额不能为空");
-        }
-        int count = CommonUtil.compare(zfrLoanAmount,zfrAmount);
-        if (count == 1){
-            return AjaxResult.error("实际放款金额不能大于融资金额");
-        }
+        //拒绝放款理由
+        String zfrReason = CommonUtil.objToString(map.get("zfrReason"));
+        String TYPE = CommonUtil.objToString(map.get("TYPE"));
         //图片
         String zfrLoanFile = "";
-        List<Map<String, String>> url = (List<Map<String, String>>) map.get("zfrLoanFile");
-        if (url.size() > 0){
-            zfrLoanFile = String.valueOf(url.get(0).get("uid"));
-        }
-        //-----------------执行修改融资表
+        /*-----------修改融资表---------*/
         ZcFinanceRecord zcFinanceRecord = new ZcFinanceRecord();
         //主键
         zcFinanceRecord.setZfrId(zfrId);
-        //放款金额
-        zcFinanceRecord.setZfrLoanAmount(zfrLoanAmount);
-        //放款时间
-        zcFinanceRecord.setZfrLoanDate(DateUtils.getNowDate());
-        //附件
-        zcFinanceRecord.setZfrLoanFile(zfrLoanFile);
-        //融资状态(00:融资中 01:已放款 02:融资失败 03:已结算)
-        zcFinanceRecord.setZfrStatus("01");
-        //还款编号
-        StringBuilder str=new StringBuilder();//定义变长字符串
-        Random random=new Random();
-        //随机生成数字,并添加到字符串
-        for(int i=0;i<6;i++){
-            str.append(random.nextInt(10));
-        }
-        zcFinanceRecord.setZfrPayNumber(DateUtils.dateTimeNow("yyyyMMdd")+str);
+        //修改时间
+        zcFinanceRecord.setUpdateTime(DateUtils.getNowDate());
+        //修改人
+        zcFinanceRecord.setUpdateBy(userId);
         /*----------修改融信表状态---------------*/
         ZcFinanceInf zcFinanceInf = new ZcFinanceInf();
         //融信id
         zcFinanceInf.setZfiId(zfrFinanceId);
-        //融信状态(00:待确权 01:待签收 02:已生效 03:已失效 04:融资中 05:已融资 06:平台退回)
-        zcFinanceInf.setZfiStatus("05");
         //修改人
         zcFinanceInf.setUpdateBy(userId);
         //修改时间
         zcFinanceInf.setUpdateTime(DateUtils.getNowDate());
+        /*========放款登记========*/
+        if ("00".equals(TYPE)) {
+            //授信额度
+            if (CommonUtil.isNotEmpty(zfrLoanAmount)) {
+                if (AmtUtil.isMoney(zfrLoanAmount) == false) {
+                    return AjaxResult.error("请输入正确的放款金额");
+                }
+            } else {
+                return AjaxResult.error("放款金额不能为空");
+            }
+            int count = CommonUtil.compare(zfrLoanAmount, zfrAmount);
+            if (count == 1) {
+                return AjaxResult.error("实际放款金额不能大于融资金额");
+            }
+            List<Map<String, String>> url = (List<Map<String, String>>) map.get("zfrLoanFile");
+            if (url.size() > 0) {
+                zfrLoanFile = String.valueOf(url.get(0).get("uid"));
+            }
+            //-----------------执行修改融资表
+            //放款金额
+            zcFinanceRecord.setZfrLoanAmount(zfrLoanAmount);
+            //放款时间
+            zcFinanceRecord.setZfrLoanDate(DateUtils.getNowDate());
+            //附件
+            zcFinanceRecord.setZfrLoanFile(zfrLoanFile);
+            //融资状态(00:融资中 01:已放款 02:融资失败 03:已结算)
+            zcFinanceRecord.setZfrStatus("01");
+            //还款编号
+            StringBuilder str = new StringBuilder();//定义变长字符串
+            Random random = new Random();
+            //随机生成数字,并添加到字符串
+            for (int i = 0; i < 6; i++) {
+                str.append(random.nextInt(10));
+            }
+            zcFinanceRecord.setZfrPayNumber(DateUtils.dateTimeNow("yyyyMMdd") + str);
+            //----------执行修改融信表状态
+            //融信状态(00:待确权 01:待签收 02:已生效 03:已失效 04:融资中 05:已融资 06:平台退回)
+            zcFinanceInf.setZfiStatus("05");
+        }
+        /*========拒绝放款登记========*/
+        else if ("01".equals(TYPE)){
+            if (CommonUtil.isNotEmpty(zfrReason)){
+                if (zfrReason.length() > 50){
+                    return AjaxResult.error("内容过长,请重新编辑!");
+                }
+            }else {
+                return AjaxResult.error("拒绝放款原因不能为空");
+            }
+            //-----------------执行修改融资表
+            //拒绝放款原因
+            zcFinanceRecord.setZfrReason(zfrReason);
+            //融资状态(00:融资中 01:已放款 02:融资失败 03:已结算)
+            zcFinanceRecord.setZfrStatus("02");
+            //----------执行修改融信表状态
+            //融信状态(00:待确权 01:待签收 02:已生效 03:已失效 04:融资中 05:已融资 06:平台退回)
+            zcFinanceInf.setZfiStatus("02");
+        }
         iZcFinanceInfService.updateZcFinanceInf(zcFinanceInf);
         iZcFinanceRecordService.updateZcFinanceRecord(zcFinanceRecord);
         return AjaxResult.success();

+ 1 - 0
sc-service/src/main/resources/mapper/base/ZcFinanceRecordMapper.xml

@@ -37,6 +37,7 @@
         <result column="create_time" property="createTime" />
         <result column="update_by" property="updateBy" />
         <result column="update_time" property="updateTime" />
+        <result column="zfr_reason" property="zfrReason" />
     </resultMap>
 
 </mapper>

+ 9 - 4
sc-service/src/main/resources/mapper/common/FinanceInfMapper.xml

@@ -20,7 +20,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         zfi_payment_number                            'zfiPaymentNumber',
         DATE_FORMAT(zfi_effective_date,'%Y-%m-%d')    'zfiEffectiveDate',
         DATE_FORMAT(zfi_sign_date,'%Y-%m-%d')         'zfiSignDate',
-        DATE_FORMAT(zfi_expire_date,'%Y-%m-%d') AS 	'zfiExpireDate',
+        DATE_FORMAT(zfi_expire_date,'%Y-%m-%d  %H:%i:%s') AS 	'zfiExpireDate',
         zfi_platform_status                           'zfiPlatformStatus',
         zfi_supplier_status                           'zfiSupplierStatus',
         zfi_core_status                               'zfiCoreStatus',
@@ -29,11 +29,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         zfi_status                                    'zfiStatus',
         zfpcr_rate 		                              'zfpcrRate',
         zfpcr_loan_type 	                          'zfpcrLoanType',
-        zfpcr_charge_rate                             'zfpcrChargeRate'
+        zfpcr_charge_rate                             'zfpcrChargeRate',
+        DATE_FORMAT(zfr_loan_date,'%Y-%m-%d')         'zfrLoanDate',
+        zfr_status                                    'zfrStatus',
+        CASE  WHEN zfi_id= #{paramMap.zfiId}  THEN 0  ELSE  1  END  'flag'
         FROM
         zc_finance_inf
         LEFT JOIN zc_finance_pro_com_rel
         ON zfi_core_quota_id = zfpcr_id
+        LEFT JOIN zc_finance_record
+        ON zfi_id = zfr_finance_id
         WHERE 1=1
         <if test="paramMap.companyId != null  and paramMap.companyId != ''">
             AND zfi_supplier_id = #{paramMap.companyId}
@@ -42,8 +47,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             AND (zfi_id= #{paramMap.zfiId} OR zfi_status = '02')
         </if>
         <if test="paramMap.zfiId == null  or paramMap.zfiId == ''">
-            zfi_status = '02'
+            and zfi_status = '02'
         </if>
-        order by zc_finance_inf.create_time desc
+        order by flag asc , zc_finance_inf.create_time desc
     </select>
 </mapper>