import bank card bugfixes

This commit is contained in:
Donghuang 2024-10-11 11:09:57 +08:00
parent 00a5bce427
commit 007b6599b9
23 changed files with 73 additions and 37 deletions

View File

@ -7,14 +7,14 @@
<appender name="Console" class="ch.qos.logback.core.ConsoleAppender">
<withJansi>true</withJansi>
<encoder>
<pattern>%magenta(%d{"yyyy-MM-dd HH:mm:ss,SSS"}) [%thread][%X{traceId}] %highlight(%-5level) %cyan(%logger{15}) - %msg %n</pattern>
<pattern>%magenta(%d{"yyyy-MM-dd HH:mm:ss,SSS", GMT+8}) [%thread][%X{traceId}] %highlight(%-5level) %cyan(%logger{15}) - %msg %n</pattern>
</encoder>
</appender>
<appender name="File" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.dir}/app.log</file>
<encoder>
<pattern>%d{"yyyy-MM-dd HH:mm:ss,SSS"} [%thread][%X{traceId}] %-5level %logger %msg %n</pattern>
<pattern>%d{"yyyy-MM-dd HH:mm:ss,SSS", GMT+8} [%thread][%X{traceId}] %-5level %logger %msg %n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.dir}/%d{yyyy-MM, aux}/app-%d{yyyy-MM-dd}.%i.log</fileNamePattern>

View File

@ -6,14 +6,14 @@
<appender name="Console" class="ch.qos.logback.core.ConsoleAppender">
<withJansi>true</withJansi>
<encoder>
<pattern>%magenta(%d{"yyyy-MM-dd HH:mm:ss,SSS"}) [%thread][%X{traceId}] %highlight(%-5level) %cyan(%logger{15}) - %msg %n</pattern>
<pattern>%magenta(%d{"yyyy-MM-dd HH:mm:ss,SSS", GMT+8}) [%thread][%X{traceId}] %highlight(%-5level) %cyan(%logger{15}) - %msg %n</pattern>
</encoder>
</appender>
<appender name="File" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.dir}/app.log</file>
<encoder>
<pattern>%d{"yyyy-MM-dd HH:mm:ss,SSS"} [%thread][%X{traceId}] %-5level %logger{15} %msg %n</pattern>
<pattern>%d{"yyyy-MM-dd HH:mm:ss,SSS", GMT+8} [%thread][%X{traceId}] %-5level %logger{15} %msg %n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.dir}/%d{yyyy-MM, aux}/app-%d{yyyy-MM-dd}.%i.log</fileNamePattern>

View File

@ -7,14 +7,14 @@
<appender name="Console" class="ch.qos.logback.core.ConsoleAppender">
<withJansi>true</withJansi>
<encoder>
<pattern>%magenta(%d{"yyyy-MM-dd HH:mm:ss,SSS"}) [%thread][%X{traceId}] %highlight(%-5level) %cyan(%logger{15}) - %msg %n</pattern>
<pattern>%magenta(%d{"yyyy-MM-dd HH:mm:ss,SSS", GMT+8}) [%thread][%X{traceId}] %highlight(%-5level) %cyan(%logger{15}) - %msg %n</pattern>
</encoder>
</appender>
<appender name="File" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.dir}/app.log</file>
<encoder>
<pattern>%d{"yyyy-MM-dd HH:mm:ss,SSS"} [%thread][%X{traceId}] %-5level %logger{15} %msg %n</pattern>
<pattern>%d{"yyyy-MM-dd HH:mm:ss,SSS", GMT+8} [%thread][%X{traceId}] %-5level %logger{15} %msg %n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.dir}/%d{yyyy-MM, aux}/app-%d{yyyy-MM-dd}.%i.log</fileNamePattern>

View File

@ -7,14 +7,14 @@
<appender name="Console" class="ch.qos.logback.core.ConsoleAppender">
<withJansi>true</withJansi>
<encoder>
<pattern>%magenta(%d{"yyyy-MM-dd HH:mm:ss,SSS"}) [%thread] %highlight(%-5level) %cyan(%logger{15}) - %msg %n</pattern>
<pattern>%magenta(%d{"yyyy-MM-dd HH:mm:ss,SSS", GMT+8}) [%thread] %highlight(%-5level) %cyan(%logger{15}) - %msg %n</pattern>
</encoder>
</appender>
<appender name="File" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.dir}/${project.artifactId}.log</file>
<encoder>
<pattern>%d{"yyyy-MM-dd HH:mm:ss,SSS"} [%thread] %-5level %logger{15} %msg %n</pattern>
<pattern>%d{"yyyy-MM-dd HH:mm:ss,SSS", GMT+8} [%thread] %-5level %logger{15} %msg %n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.dir}/%d{yyyy-MM, aux}/${project.artifactId}-%d{yyyy-MM-dd}.%i.log</fileNamePattern>

View File

@ -7,14 +7,14 @@
<appender name="Console" class="ch.qos.logback.core.ConsoleAppender">
<withJansi>true</withJansi>
<encoder>
<pattern>%magenta(%d{"yyyy-MM-dd HH:mm:ss,SSS"}) [%thread] %highlight(%-5level) %cyan(%logger{15}) - %msg %n</pattern>
<pattern>%magenta(%d{"yyyy-MM-dd HH:mm:ss,SSS", GMT+8}) [%thread] %highlight(%-5level) %cyan(%logger{15}) - %msg %n</pattern>
</encoder>
</appender>
<appender name="File" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.dir}/${project.artifactId}.log</file>
<encoder>
<pattern>%d{"yyyy-MM-dd HH:mm:ss,SSS"} [%thread] %-5level %logger{15} %msg %n</pattern>
<pattern>%d{"yyyy-MM-dd HH:mm:ss,SSS", GMT+8} [%thread] %-5level %logger{15} %msg %n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.dir}/%d{yyyy-MM, aux}/${project.artifactId}-%d{yyyy-MM-dd}.%i.log</fileNamePattern>

View File

@ -6,14 +6,14 @@
<appender name="Console" class="ch.qos.logback.core.ConsoleAppender">
<withJansi>true</withJansi>
<encoder>
<pattern>%magenta(%d{"yyyy-MM-dd HH:mm:ss,SSS"}) [%thread] %highlight(%-5level) %cyan(%logger{15}) - %msg %n</pattern>
<pattern>%magenta(%d{"yyyy-MM-dd HH:mm:ss,SSS", GMT+8}) [%thread] %highlight(%-5level) %cyan(%logger{15}) - %msg %n</pattern>
</encoder>
</appender>
<appender name="File" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.dir}/app.log</file>
<encoder>
<pattern>%d{"yyyy-MM-dd HH:mm:ss,SSS"} [%thread] %-5level %logger{15} %msg %n</pattern>
<pattern>%d{"yyyy-MM-dd HH:mm:ss,SSS", GMT+8} [%thread] %-5level %logger{15} %msg %n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.dir}/%d{yyyy-MM, aux}/app-%d{yyyy-MM-dd}.%i.log</fileNamePattern>

View File

@ -6,14 +6,14 @@
<appender name="Console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%magenta(%d{"yyyy-MM-dd HH:mm:ss,SSS"}) [%thread][%X{traceId}] %highlight(%-5level) %cyan(%logger{15}) - %msg %n</pattern>
<pattern>%magenta(%d{"yyyy-MM-dd HH:mm:ss,SSS", GMT+8}) [%thread][%X{traceId}] %highlight(%-5level) %cyan(%logger{15}) - %msg %n</pattern>
</encoder>
</appender>
<appender name="File" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.dir}/app.log</file>
<encoder>
<pattern>%d{"yyyy-MM-dd HH:mm:ss,SSS"} [%thread][%X{traceId}] %-5level %logger{15} %msg %n</pattern>
<pattern>%d{"yyyy-MM-dd HH:mm:ss,SSS", GMT+8} [%thread][%X{traceId}] %-5level %logger{15} %msg %n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.dir}/%d{yyyy-MM, aux}/app-%d{yyyy-MM-dd}.%i.log</fileNamePattern>

View File

@ -6,14 +6,14 @@
<appender name="Console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%magenta(%d{"yyyy-MM-dd HH:mm:ss,SSS"}) [%thread] %highlight(%-5level) %cyan(%logger{15}) - %msg %n</pattern>
<pattern>%magenta(%d{"yyyy-MM-dd HH:mm:ss,SSS", GMT+8}) [%thread] %highlight(%-5level) %cyan(%logger{15}) - %msg %n</pattern>
</encoder>
</appender>
<appender name="File" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.dir}/${project.artifactId}.log</file>
<encoder>
<pattern>%d{"yyyy-MM-dd HH:mm:ss,SSS"} [%thread] %-5level %logger{15} %msg %n</pattern>
<pattern>%d{"yyyy-MM-dd HH:mm:ss,SSS", GMT+8} [%thread] %-5level %logger{15} %msg %n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.dir}/%d{yyyy-MM, aux}/${project.artifactId}-%d{yyyy-MM-dd}.%i.log</fileNamePattern>

View File

@ -7,14 +7,14 @@
<appender name="Console" class="ch.qos.logback.core.ConsoleAppender">
<!--<withJansi>true</withJansi>-->
<encoder>
<pattern>%magenta(%d{"yyyy-MM-dd HH:mm:ss,SSS"}) [%thread][%X{traceId}] %highlight(%-5level) %cyan(%logger{15}) - %msg %n</pattern>
<pattern>%magenta(%d{"yyyy-MM-dd HH:mm:ss,SSS", GMT+8}) [%thread][%X{traceId}] %highlight(%-5level) %cyan(%logger{15}) - %msg %n</pattern>
</encoder>
</appender>
<appender name="File" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.dir}/app.log</file>
<encoder>
<pattern>%d{"yyyy-MM-dd HH:mm:ss,SSS"} [%thread][%X{traceId}] %-5level %logger{15} %msg %n</pattern>
<pattern>%d{"yyyy-MM-dd HH:mm:ss,SSS", GMT+8} [%thread][%X{traceId}] %-5level %logger{15} %msg %n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.dir}/%d{yyyy-MM, aux}/app-%d{yyyy-MM-dd}.%i.log</fileNamePattern>

View File

@ -1,6 +1,7 @@
package com.pudonghot.yo.operation.service.loanimport.annotation;
import java.io.IOException;
import java.math.BigDecimal;
import java.lang.annotation.Target;
import java.lang.annotation.Retention;
import java.lang.annotation.Documented;
@ -45,7 +46,7 @@ public @interface MoneyAmount {
return;
}
gen.writeNumber(Double.valueOf(value * 1000).longValue());
gen.writeNumber(new BigDecimal(value * 100).longValue());
}
}
}

View File

@ -1,5 +1,7 @@
package com.pudonghot.yo.operation.service.loanimport.impl;
import java.util.List;
import java.util.Collection;
import org.springframework.stereotype.Service;
import com.pudonghot.tigon.kit.bean.BeanService;
import com.pudonghot.yo.operation.dal.dept.DeptDal;
@ -8,9 +10,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import com.pudonghot.yo.operation.service.loanimport.DeptService;
import com.pudonghot.yo.operation.service.loanimport.model.DeptBO;
import java.util.Collection;
import java.util.List;
/**
* @author Donghuang
* @date Oct 09, 2024 15:58:37

View File

@ -143,6 +143,9 @@ public class LoanImportServiceImpl implements LoanImportService {
records.forEach((k, rec) -> {
val app = rec.getApplication();
if (app == null) {
return;
}
val loanSource = app.getLoanSource();
if (StringUtils.isNotBlank(loanSource)) {
@ -231,6 +234,7 @@ public class LoanImportServiceImpl implements LoanImportService {
ListUtils.eachBatch(mapBatchNumDO.values().stream().toList(), 32, batchNumberDal::insert);
records.forEach(record -> {
log.info("Import record [{}].", record);
val bizKey = record.getBizKey();
val application = record.getApplication();
@ -294,7 +298,7 @@ public class LoanImportServiceImpl implements LoanImportService {
bankCardDal.removeByLoanId(loanId);
val bankCardList = beanService.convert(record.getBankCards(), BankCardDO.class);
if (CollectionUtils.isEmpty(bankCardList)) {
if (!CollectionUtils.isEmpty(bankCardList)) {
bankCardList.forEach(it -> it.setLoanId(loanId));
ListUtils.eachBatch(bankCardList, 24, bankCardDal::insert);
}

View File

@ -44,4 +44,10 @@ public class BankCardImportBO extends BaseImportBO {
*/
@ExcelProperty("银行卡开户行")
private String bankName;
/**
* 备注
*/
@ExcelProperty("备注")
private String remark;
}

View File

@ -49,4 +49,10 @@ public class ContactImportBO extends BaseImportBO {
*/
@ExcelProperty("联系频率")
private String frequency;
/**
* 备注
*/
@ExcelProperty("备注")
private String remark;
}

View File

@ -1,10 +1,10 @@
package com.pudonghot.yo.operation.service.loanimport.model.excel;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import java.util.Date;
import lombok.ToString;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.Past;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Positive;
@ -123,4 +123,10 @@ public class RepaymentImportBO extends BaseImportBO {
*/
@ExcelProperty("减免原因")
private String reductionReason;
/**
* 备注
*/
@ExcelProperty("备注")
private String remark;
}

View File

@ -6,14 +6,14 @@
<appender name="Console" class="ch.qos.logback.core.ConsoleAppender">
<withJansi>true</withJansi>
<encoder>
<pattern>%magenta(%d{"yyyy-MM-dd HH:mm:ss,SSS"}) [%thread][%X{traceId}] %highlight(%-5level) %cyan(%logger{15}) - %msg %n</pattern>
<pattern>%magenta(%d{"yyyy-MM-dd HH:mm:ss,SSS", GMT+8}) [%thread][%X{traceId}] %highlight(%-5level) %cyan(%logger{15}) - %msg %n</pattern>
</encoder>
</appender>
<appender name="File" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.dir}/app.log</file>
<encoder>
<pattern>%d{"yyyy-MM-dd HH:mm:ss,SSS"} [%thread][%X{traceId}] %-5level %logger{15} %msg %n</pattern>
<pattern>%d{"yyyy-MM-dd HH:mm:ss,SSS", GMT+8} [%thread][%X{traceId}] %-5level %logger{15} %msg %n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.dir}/%d{yyyy-MM, aux}/app-%d{yyyy-MM-dd}.%i.log</fileNamePattern>

View File

@ -1,7 +1,11 @@
package com.pudonghot.yo.operation.controller.loanimport;
import lombok.val;
import jakarta.validation.Valid;
import org.springframework.util.Assert;
import org.apache.commons.lang3.StringUtils;
import com.pudonghot.tigon.kit.bean.BeanService;
import org.springframework.util.CollectionUtils;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.beans.factory.annotation.Autowired;
@ -26,7 +30,9 @@ public class LoanImportController {
@PostMapping("/import")
public LoanImportRespVO loanImport(@Valid final LoanImportReqVO req) {
return beanService.convert(
loanImportService.loanImport(beanService.convert(req, LoanImportReqBO.class)), LoanImportRespVO.class);
val resp = loanImportService.loanImport(beanService.convert(req, LoanImportReqBO.class));
Assert.state(CollectionUtils.isEmpty(resp.getErrors()),
() -> "案件导入异常:" + StringUtils.join(resp.getErrors(), "\n"));
return beanService.convert(resp, LoanImportRespVO.class);
}
}

View File

@ -60,7 +60,8 @@ tigon:
cas:
server:
# addr: https://cas.zhujiachefu.com
addr: https://tj-cas-daily.pudonghot.com
// addr: https://tj-cas-daily.pudonghot.com
addr: https://cas-dev.pudonghot.com
callback-path: /api/cas/callback
logout-path: /api/cas/logout
filter-chain: >

View File

@ -5,14 +5,14 @@
<appender name="Console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%magenta(%d{"yyyy-MM-dd HH:mm:ss,SSS"}) [%thread][%X{traceId}] %highlight(%-5level) %cyan(%logger{15}) - %msg %n</pattern>
<pattern>%magenta(%d{"yyyy-MM-dd HH:mm:ss,SSS", GMT+8}) [%thread][%X{traceId}] %highlight(%-5level) %cyan(%logger{15}) - %msg %n</pattern>
</encoder>
</appender>
<appender name="File" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.dir}/app.log</file>
<encoder>
<pattern>%d{"yyyy-MM-dd HH:mm:ss,SSS"} [%thread][%X{traceId}] %-5level %logger{15} %msg %n</pattern>
<pattern>%d{"yyyy-MM-dd HH:mm:ss,SSS", GMT+8} [%thread][%X{traceId}] %-5level %logger{15} %msg %n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.dir}/%d{yyyy-MM, aux}/app-%d{yyyy-MM-dd}.%i.log</fileNamePattern>

View File

@ -34,6 +34,13 @@ public class LoanImportControllerTest extends TestBase {
t.print(t.post("/api/loan/import", params));
}
@Test
public void testImport3() {
val params = new HashMap<String, Object>();
params.put("file", newFile("file", "/Users/donghuang/Documents/创易科技/案件导入模板-20241011.xlsx"));
t.print(t.post("/api/loan/import", params));
}
@SneakyThrows
MockMultipartFile newFile(final String name, final String path) {
return new MockMultipartFile(name, openFile(path));

View File

@ -5,14 +5,14 @@
<appender name="Console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%magenta(%d{"yyyy-MM-dd HH:mm:ss,SSS"}) [%thread][%X{traceId}] %highlight(%-5level) %cyan(%logger{15}) - %msg %n</pattern>
<pattern>%magenta(%d{"yyyy-MM-dd HH:mm:ss,SSS", GMT+8}) [%thread][%X{traceId}] %highlight(%-5level) %cyan(%logger{15}) - %msg %n</pattern>
</encoder>
</appender>
<appender name="File" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.dir}/app.log</file>
<encoder>
<pattern>%d{"yyyy-MM-dd HH:mm:ss,SSS"} [%thread][%X{traceId}] %-5level %logger{15} %msg %n</pattern>
<pattern>%d{"yyyy-MM-dd HH:mm:ss,SSS", GMT+8} [%thread][%X{traceId}] %-5level %logger{15} %msg %n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.dir}/%d{yyyy-MM, aux}/app-%d{yyyy-MM-dd}.%i.log</fileNamePattern>

View File

@ -6,14 +6,14 @@
<appender name="Console" class="ch.qos.logback.core.ConsoleAppender">
<withJansi>true</withJansi>
<encoder>
<pattern>%magenta(%d{"yyyy-MM-dd HH:mm:ss,SSS"}) [%thread][%X{traceId}] %highlight(%-5level) %cyan(%logger{15}) - %msg %n</pattern>
<pattern>%magenta(%d{"yyyy-MM-dd HH:mm:ss,SSS", GMT+8}) [%thread][%X{traceId}] %highlight(%-5level) %cyan(%logger{15}) - %msg %n</pattern>
</encoder>
</appender>
<appender name="File" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.dir}/app.log</file>
<encoder>
<pattern>%d{"yyyy-MM-dd HH:mm:ss,SSS"} [%thread][%X{traceId}] %-5level %logger{15} %msg %n</pattern>
<pattern>%d{"yyyy-MM-dd HH:mm:ss,SSS", GMT+8} [%thread][%X{traceId}] %-5level %logger{15} %msg %n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.dir}/%d{yyyy-MM, aux}/app-%d{yyyy-MM-dd}.%i.log</fileNamePattern>

View File

@ -7,14 +7,14 @@
<appender name="Console" class="ch.qos.logback.core.ConsoleAppender">
<withJansi>true</withJansi>
<encoder>
<pattern>%magenta(%d{"yyyy-MM-dd HH:mm:ss,SSS"}) [%thread][%X{traceId}] %highlight(%-5level) %cyan(%logger{15}) - %msg %n</pattern>
<pattern>%magenta(%d{"yyyy-MM-dd HH:mm:ss,SSS", GMT+8}) [%thread][%X{traceId}] %highlight(%-5level) %cyan(%logger{15}) - %msg %n</pattern>
</encoder>
</appender>
<appender name="File" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.dir}/app.log</file>
<encoder>
<pattern>%d{"yyyy-MM-dd HH:mm:ss,SSS"} [%thread][%X{traceId}] %-5level %logger %msg %n</pattern>
<pattern>%d{"yyyy-MM-dd HH:mm:ss,SSS", GMT+8} [%thread][%X{traceId}] %-5level %logger %msg %n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.dir}/%d{yyyy-MM, aux}/app-%d{yyyy-MM-dd}.%i.log</fileNamePattern>