Merge remote-tracking branch 'origin/master'

master
chen 4 years ago
commit 93a36ebbfa
  1. 38
      dq-financial-crms/src/main/java/com/daqing/financial/crms/controller/CrmsCompanyPersonalController.java
  2. 2
      dq-financial-crms/src/main/java/com/daqing/financial/crms/model/request/CompanyCustomerRequest.java
  3. 13
      dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/controller/AlInsuranceListController.java
  4. 16
      dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/controller/AlRepaymentEntryController.java
  5. 10
      dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/mapper/AlRepaymentEntryMapper.java
  6. 2
      dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/model/request/BusinessApplicationRequest.java
  7. 67
      dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/model/response/AlRepaymentCountRes.java
  8. 68
      dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/model/response/AlRepaymentEntryRes.java
  9. 2
      dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/service/IAlInsuranceListService.java
  10. 5
      dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/service/IAlRepaymentEntryService.java
  11. 35
      dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/service/impl/AlInsuranceListServiceImpl.java
  12. 62
      dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/service/impl/AlRepaymentEntryServiceImpl.java
  13. 14
      dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/service/impl/DgMessageInvestigationServiceImpl.java
  14. 20
      dq-financial-guarantee/src/main/resources/mapper/guarantee/AlRepaymentEntryMapper.xml
  15. 88
      dq-financial-hrms-auth/src/main/resources/bootstrap.properties
  16. 2
      dq-framework-model/src/main/java/com/daqing/framework/domain/crms/CompanyCustomerEntity.java
  17. 2
      dq-framework-model/src/main/java/com/daqing/framework/domain/crms/CrmsCompanyPersonal.java
  18. 2
      dq-framework-model/src/main/java/com/daqing/framework/domain/crms/ext/CustomerCompanyDTO.java
  19. 2
      dq-framework-model/src/main/java/com/daqing/framework/domain/guarantee/AlInsuranceList.java
  20. 2
      dq-framework-model/src/main/java/com/daqing/framework/domain/guarantee/DgBusinessCompany.java

@ -59,16 +59,16 @@ public class CrmsCompanyPersonalController {
@PostMapping("/insertCompanyPersonal") @PostMapping("/insertCompanyPersonal")
@ApiOperation(value = "新增个人/企业关联人") @ApiOperation(value = "新增个人/企业关联人")
public ResponseResult insertCompanyPersonal(@RequestBody @Valid CrmsCompanyPersonal crmsCompanyPersonal) { public ResponseResult insertCompanyPersonal(@RequestBody @Valid CrmsCompanyPersonal crmsCompanyPersonal) {
SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd"); // SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd");
String format = sdf.format(crmsCompanyPersonal.getRegisteredTime()); // String format = sdf.format(crmsCompanyPersonal.getRegisteredTime());
Date parse = null; // Date parse = null;
try { // try {
parse = sdf.parse(format); // parse = sdf.parse(format);
} catch (ParseException e) { // } catch (ParseException e) {
e.printStackTrace(); // e.printStackTrace();
} // }
//
crmsCompanyPersonal.setRegisteredTime(parse); // crmsCompanyPersonal.setRegisteredTime(parse);
boolean result = crmsCompanyPersonalService.save(crmsCompanyPersonal); boolean result = crmsCompanyPersonalService.save(crmsCompanyPersonal);
CrmsCustomerRelated crmsCustomerRelated = new CrmsCustomerRelated(); CrmsCustomerRelated crmsCustomerRelated = new CrmsCustomerRelated();
crmsCustomerRelated.setRelatedId(crmsCompanyPersonal.getId().intValue());//关联人Id crmsCustomerRelated.setRelatedId(crmsCompanyPersonal.getId().intValue());//关联人Id
@ -94,15 +94,15 @@ public class CrmsCompanyPersonalController {
@PostMapping("/updateCompanyPersonal") @PostMapping("/updateCompanyPersonal")
@ApiOperation(value = "编辑个人/企业关联人") @ApiOperation(value = "编辑个人/企业关联人")
public ResponseResult updateCompanyPersonal(@RequestBody CrmsCompanyPersonal crmsCompanyPersonal){ public ResponseResult updateCompanyPersonal(@RequestBody CrmsCompanyPersonal crmsCompanyPersonal){
SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd"); // SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd");
String format = sdf.format(crmsCompanyPersonal.getRegisteredTime()); // String format = sdf.format(crmsCompanyPersonal.getRegisteredTime());
Date parse = null; // Date parse = null;
try { // try {
parse = sdf.parse(format); // parse = sdf.parse(format);
} catch (ParseException e) { // } catch (ParseException e) {
e.printStackTrace(); // e.printStackTrace();
} // }
crmsCompanyPersonal.setRegisteredTime(parse); // crmsCompanyPersonal.setRegisteredTime(parse);
boolean result = crmsCompanyPersonalService.updateById(crmsCompanyPersonal); boolean result = crmsCompanyPersonalService.updateById(crmsCompanyPersonal);
return result ? ResponseResult.SUCCESS(crmsCompanyPersonal) : ResponseResult.FAIL(); return result ? ResponseResult.SUCCESS(crmsCompanyPersonal) : ResponseResult.FAIL();
} }

@ -2,6 +2,7 @@ package com.daqing.financial.crms.model.request;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.ToString; import lombok.ToString;
@ -45,6 +46,7 @@ public class CompanyCustomerRequest implements Serializable {
@ApiModelProperty(value = "联系电话") @ApiModelProperty(value = "联系电话")
private String phone; private String phone;
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@ApiModelProperty(value = "注册时间") @ApiModelProperty(value = "注册时间")
private Date registerTime; private Date registerTime;

@ -6,11 +6,13 @@ import com.daqing.financial.guarantee.service.IAlInsuranceListService;
import com.daqing.financial.hrauth.annotation.Log; import com.daqing.financial.hrauth.annotation.Log;
import com.daqing.financial.hrauth.enums.OperationType; import com.daqing.financial.hrauth.enums.OperationType;
import com.daqing.financial.hrauth.enums.OperationUnit; import com.daqing.financial.hrauth.enums.OperationUnit;
import com.daqing.financial.hrauth.model.HrmsAccessRecordsLog;
import com.daqing.framework.model.response.ResponseResult; import com.daqing.framework.model.response.ResponseResult;
import com.daqing.framework.utils.PageUtils; import com.daqing.framework.utils.PageUtils;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
@ -87,4 +89,15 @@ public class AlInsuranceListController {
return result>0 ? ResponseResult.SUCCESS("编辑成功!"):ResponseResult.FAIL(60007,"编辑失败!"); return result>0 ? ResponseResult.SUCCESS("编辑成功!"):ResponseResult.FAIL(60007,"编辑失败!");
} }
/**
* 定时任务处理保后管理内容 每隔五秒执行一次
* @param
* @return
*/
@Scheduled(cron ="*/5 * * * * ?")
@GetMapping("/updateInsuranceList")
public void updateInsuranceList() {
int result = alInsuranceListService.updateInsuranceList();
}
} }

@ -12,6 +12,7 @@ import com.daqing.framework.utils.PageUtils;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
@ -69,10 +70,10 @@ public class AlRepaymentEntryController {
@Log(detail = "还款记录列表",level = 3,operationUnit = OperationUnit.INSURANCE,operationType = OperationType.SELECT) @Log(detail = "还款记录列表",level = 3,operationUnit = OperationUnit.INSURANCE,operationType = OperationType.SELECT)
@GetMapping("/repaymentList") @GetMapping("/repaymentList")
@ApiOperation(value = "还款记录列表") @ApiOperation(value = "还款记录列表")
public ResponseResult repaymentList(@RequestParam(value="page",required=false) Integer page, @RequestParam(value="size",required=false) Integer size, public ResponseResult repaymentList(@RequestParam(value="page",required=false) Integer page, @RequestParam(value="size",required=false) Integer size,@RequestParam(value = "insuranceId") Integer insuranceId,
@RequestParam(value = "CustomerNumberOrName", required = false) String CustomerNumberOrName, @RequestParam(value="status",required=false) Integer status){ @RequestParam(value = "CustomerNumberOrName", required = false) String CustomerNumberOrName, @RequestParam(value="status",required=false) Integer status){
PageUtils data = alRepaymentEntryService.queryPage(page, size, CustomerNumberOrName,status); PageUtils data = alRepaymentEntryService.queryPage(page, size, CustomerNumberOrName,status,insuranceId);
return new ResponseResult<PageUtils>().SUCCESS(data); return new ResponseResult<PageUtils>().SUCCESS(data);
} }
@ -129,4 +130,15 @@ public class AlRepaymentEntryController {
return ResponseResult.SUCCESS(map); return ResponseResult.SUCCESS(map);
} }
/**
* 定时任务处理还款记录内容
* @param
* @return
*/
@Scheduled(cron ="*/5 * * * * ?")
@GetMapping("/updateRepaymentEntry")
public void updateRepaymentEntry() {
int result = alRepaymentEntryService.updateRepaymentEntry();
}
} }

@ -3,6 +3,8 @@ package com.daqing.financial.guarantee.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.daqing.financial.guarantee.model.response.AlRepaymentCountRes;
import com.daqing.financial.guarantee.model.response.AlRepaymentEntryRes;
import com.daqing.financial.guarantee.model.response.AlRepaymentRes; import com.daqing.financial.guarantee.model.response.AlRepaymentRes;
import com.daqing.framework.domain.guarantee.AlRepaymentEntry; import com.daqing.framework.domain.guarantee.AlRepaymentEntry;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@ -20,7 +22,13 @@ import java.util.List;
@Mapper @Mapper
public interface AlRepaymentEntryMapper extends BaseMapper<AlRepaymentEntry> { public interface AlRepaymentEntryMapper extends BaseMapper<AlRepaymentEntry> {
IPage<AlRepaymentEntry> pageByCondition(Page page, String customerNumberOrName, Integer status); IPage<AlRepaymentEntry> pageByCondition(Page page, String customerNumberOrName, Integer status,Integer insuranceId);
List<AlRepaymentRes> selectListByIds(List<String> ids); List<AlRepaymentRes> selectListByIds(List<String> ids);
List<AlRepaymentCountRes> selectRepaymentList();
List<AlRepaymentEntryRes> selectOverDueDays();
List<AlRepaymentEntryRes> selectBind();
} }

@ -261,7 +261,7 @@ public class BusinessApplicationRequest implements Serializable {
* 注册时间 * 注册时间
*/ */
@ApiModelProperty(value = "注册时间") @ApiModelProperty(value = "注册时间")
private String registerTime; private Date registerTime;
/** /**
* 注册地址 * 注册地址

@ -0,0 +1,67 @@
package com.daqing.financial.guarantee.model.response;
import com.alibaba.excel.metadata.BaseRowModel;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import org.apache.poi.hpsf.Decimal;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* <p>
* 还款记录表
* </p>
*
* @author Qyq
* @since 2021-03-17
*/
@Data
public class AlRepaymentCountRes extends BaseRowModel implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
/**
* 保后外键id
*/
private Integer insuranceId;
/**
* 还款期数
*/
private Integer repaymentSum;
/**
* 担保额度
*/
private BigDecimal guaranteeAmount;
/**
* 还款额度
*/
private BigDecimal alreadyPaymentSum;
/**
* 剩余额度
*/
private BigDecimal remainSum;
/**
* 创建时间
*/
@TableField(fill= FieldFill.INSERT)
private Date createTime;
/**
* 修改时间
*/
@TableField(fill= FieldFill.INSERT_UPDATE)
private Date updateTime;
}

@ -0,0 +1,68 @@
package com.daqing.financial.guarantee.model.response;
import com.alibaba.excel.metadata.BaseRowModel;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* <p>
* 还款记录表
* </p>
*
* @author Qyq
* @since 2021-03-17
*/
@Data
public class AlRepaymentEntryRes implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
/**
* 保后外键id
*/
private Integer insuranceId;
/**
* 应还款日
*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date repaymentDate;
/**
* 逾期天数
*/
private Integer overdueDays;
/**
* 实际还款日
*/
private Date actualRepaymentDate;
/**
* 剩余额度
*/
private BigDecimal remainAmount;
/**
* 创建时间
*/
@TableField(fill= FieldFill.INSERT)
private Date createTime;
/**
* 修改时间
*/
@TableField(fill= FieldFill.INSERT_UPDATE)
private Date updateTime;
}

@ -26,4 +26,6 @@ public interface IAlInsuranceListService extends IService<AlInsuranceList> {
Boolean excelExport(List<String> ids, HttpServletResponse response); Boolean excelExport(List<String> ids, HttpServletResponse response);
int updateStatus(Integer id); int updateStatus(Integer id);
int updateInsuranceList();
} }

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.daqing.financial.guarantee.model.request.AlRepaymentEntryReq; import com.daqing.financial.guarantee.model.request.AlRepaymentEntryReq;
import com.daqing.framework.domain.guarantee.AlRepaymentEntry; import com.daqing.framework.domain.guarantee.AlRepaymentEntry;
import com.daqing.framework.utils.PageUtils; import com.daqing.framework.utils.PageUtils;
import io.swagger.models.auth.In;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.List; import java.util.List;
@ -24,7 +25,7 @@ public interface IAlRepaymentEntryService extends IService<AlRepaymentEntry> {
AlRepaymentEntry repaymentDetail(Integer id); AlRepaymentEntry repaymentDetail(Integer id);
PageUtils queryPage(Integer page, Integer size, String customerNumberOrName, Integer status); PageUtils queryPage(Integer page, Integer size, String customerNumberOrName, Integer status, Integer insuranceId);
int updateRepayment(AlRepaymentEntryReq alRepaymentEntryReq); int updateRepayment(AlRepaymentEntryReq alRepaymentEntryReq);
@ -33,4 +34,6 @@ public interface IAlRepaymentEntryService extends IService<AlRepaymentEntry> {
Boolean excelExport(List<String> ids, HttpServletResponse response); Boolean excelExport(List<String> ids, HttpServletResponse response);
Map repaymentStatistics(Integer insuranceId,Double guaranteeAmount); Map repaymentStatistics(Integer insuranceId,Double guaranteeAmount);
int updateRepaymentEntry();
} }

@ -5,18 +5,24 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.daqing.financial.guarantee.mapper.AlInsuranceListMapper; import com.daqing.financial.guarantee.mapper.AlInsuranceListMapper;
import com.daqing.financial.guarantee.mapper.AlRepaymentEntryMapper;
import com.daqing.financial.guarantee.model.response.AlInsuranceListRes; import com.daqing.financial.guarantee.model.response.AlInsuranceListRes;
import com.daqing.financial.guarantee.model.response.AlRepaymentCountRes;
import com.daqing.financial.guarantee.model.response.AlRepaymentRes; import com.daqing.financial.guarantee.model.response.AlRepaymentRes;
import com.daqing.financial.guarantee.service.IAlInsuranceListService; import com.daqing.financial.guarantee.service.IAlInsuranceListService;
import com.daqing.framework.domain.crms.response.CrmsCode; import com.daqing.framework.domain.crms.response.CrmsCode;
import com.daqing.framework.domain.guarantee.AlInsuranceList; import com.daqing.framework.domain.guarantee.AlInsuranceList;
import com.daqing.framework.domain.guarantee.AlRepaymentEntry;
import com.daqing.framework.exception.ExceptionCast; import com.daqing.framework.exception.ExceptionCast;
import com.daqing.framework.utils.PageUtils; import com.daqing.framework.utils.PageUtils;
import com.daqing.framework.utils.excel.ExcelUtil; import com.daqing.framework.utils.excel.ExcelUtil;
import org.apache.poi.hpsf.Decimal;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.util.List; import java.util.List;
@ -31,6 +37,8 @@ import java.util.List;
@Service @Service
public class AlInsuranceListServiceImpl extends ServiceImpl<AlInsuranceListMapper, AlInsuranceList> implements IAlInsuranceListService { public class AlInsuranceListServiceImpl extends ServiceImpl<AlInsuranceListMapper, AlInsuranceList> implements IAlInsuranceListService {
@Autowired
private AlRepaymentEntryMapper alRepaymentEntryMapper;
@Override @Override
public PageUtils queryPage(Integer page, Integer size, String customerNumberOrName) { public PageUtils queryPage(Integer page, Integer size, String customerNumberOrName) {
//分页参数 //分页参数
@ -72,4 +80,31 @@ public class AlInsuranceListServiceImpl extends ServiceImpl<AlInsuranceListMappe
alInsuranceList.setPaymentStatus(4);//已结项 alInsuranceList.setPaymentStatus(4);//已结项
return this.baseMapper.update(alInsuranceList,new QueryWrapper<AlInsuranceList>().eq("id",id)); return this.baseMapper.update(alInsuranceList,new QueryWrapper<AlInsuranceList>().eq("id",id));
} }
@Override
public int updateInsuranceList() {
//统计保后id,还款额度,还款期数
List<AlRepaymentCountRes> list = alRepaymentEntryMapper.selectRepaymentList();
//遍历list计算出剩余额度(剩余额度=担保额度-还款额度)
for (AlRepaymentCountRes res:list) {
BigDecimal guaranteeAmount = res.getGuaranteeAmount();
BigDecimal alreadyPaymentSum = res.getAlreadyPaymentSum();
Double remainSum = guaranteeAmount.doubleValue() - alreadyPaymentSum.doubleValue();
res.setRemainSum(BigDecimal.valueOf(remainSum));
//额度实时更新
AlInsuranceList alInsuranceList = new AlInsuranceList();
if(remainSum==0.00){//剩余额度为0.00,状态为已还清
alInsuranceList.setPaymentStatus(3);//已还清
}
alInsuranceList.setId(res.getInsuranceId());
alInsuranceList.setRepaymentAmount(res.getAlreadyPaymentSum());//还款额度
alInsuranceList.setRepaymentTime(res.getRepaymentSum());//还款期数
alInsuranceList.setRemainAmount(res.getRemainSum());//剩余额度
this.baseMapper.updateById(alInsuranceList);
}
return 1;
}
} }

@ -5,21 +5,28 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.daqing.financial.guarantee.controller.DgApplyAmountInfoController; import com.daqing.financial.guarantee.controller.DgApplyAmountInfoController;
import com.daqing.financial.guarantee.mapper.AlInsuranceListMapper;
import com.daqing.financial.guarantee.mapper.AlRepaymentEntryMapper; import com.daqing.financial.guarantee.mapper.AlRepaymentEntryMapper;
import com.daqing.financial.guarantee.model.request.AlRepaymentEntryReq; import com.daqing.financial.guarantee.model.request.AlRepaymentEntryReq;
import com.daqing.financial.guarantee.model.response.AlRepaymentEntryRes;
import com.daqing.financial.guarantee.model.response.AlRepaymentRes; import com.daqing.financial.guarantee.model.response.AlRepaymentRes;
import com.daqing.financial.guarantee.service.IAlRepaymentEntryService; import com.daqing.financial.guarantee.service.IAlRepaymentEntryService;
import com.daqing.framework.domain.crms.response.CrmsCode; import com.daqing.framework.domain.crms.response.CrmsCode;
import com.daqing.framework.domain.guarantee.AlInsuranceList;
import com.daqing.framework.domain.guarantee.AlRepaymentEntry; import com.daqing.framework.domain.guarantee.AlRepaymentEntry;
import com.daqing.framework.exception.ExceptionCast; import com.daqing.framework.exception.ExceptionCast;
import com.daqing.framework.utils.PageUtils; import com.daqing.framework.utils.PageUtils;
import com.daqing.framework.utils.excel.ExcelUtil; import com.daqing.framework.utils.excel.ExcelUtil;
import io.swagger.models.auth.In; import io.swagger.models.auth.In;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -35,6 +42,8 @@ import java.util.Map;
@Service @Service
public class AlRepaymentEntryServiceImpl extends ServiceImpl<AlRepaymentEntryMapper, AlRepaymentEntry> implements IAlRepaymentEntryService { public class AlRepaymentEntryServiceImpl extends ServiceImpl<AlRepaymentEntryMapper, AlRepaymentEntry> implements IAlRepaymentEntryService {
@Autowired
private AlInsuranceListMapper alInsuranceListMapper;
@Override @Override
public int repaymentEntry(AlRepaymentEntryReq alRepaymentEntryReq) { public int repaymentEntry(AlRepaymentEntryReq alRepaymentEntryReq) {
AlRepaymentEntry alRepaymentEntry = new AlRepaymentEntry(); AlRepaymentEntry alRepaymentEntry = new AlRepaymentEntry();
@ -55,7 +64,7 @@ public class AlRepaymentEntryServiceImpl extends ServiceImpl<AlRepaymentEntryMap
} }
@Override @Override
public PageUtils queryPage(Integer page, Integer size, String customerNumberOrName, Integer status) { public PageUtils queryPage(Integer page, Integer size, String customerNumberOrName, Integer status, Integer insuranceId) {
//分页参数 //分页参数
if (page <= 0) { if (page <= 0) {
page = 1; page = 1;
@ -63,7 +72,7 @@ public class AlRepaymentEntryServiceImpl extends ServiceImpl<AlRepaymentEntryMap
if (size <= 0) { if (size <= 0) {
size = 10; size = 10;
} }
IPage<AlRepaymentEntry> positionVO = this.getBaseMapper().pageByCondition(new Page(page, size),customerNumberOrName,status); IPage<AlRepaymentEntry> positionVO = this.getBaseMapper().pageByCondition(new Page(page, size),customerNumberOrName,status,insuranceId);
return new PageUtils(positionVO); return new PageUtils(positionVO);
} }
@ -144,4 +153,53 @@ public class AlRepaymentEntryServiceImpl extends ServiceImpl<AlRepaymentEntryMap
return map; return map;
} }
@Override
public int updateRepaymentEntry() {
//查询当前日期超过应还款日时的数据
//List<AlRepaymentEntryRes>list = this.baseMapper.selectOverDueDays();
//查询所有数据
//List<AlRepaymentEntry> list = this.baseMapper.selectList(new QueryWrapper<>());
List<AlRepaymentEntryRes>list = this.baseMapper.selectBind();
Date date = new Date();
long times1 = date.getTime();//当前时间
//遍历list取出应还款日,计算逾期天数=当前时间-应还款日
for (AlRepaymentEntryRes res:list) {
long times2 = res.getRepaymentDate().getTime();//应还款日
long times3 = res.getActualRepaymentDate().getTime();//实际还款日
AlRepaymentEntry entry = new AlRepaymentEntry();
entry.setId(res.getId());
AlInsuranceList alInsuranceList = new AlInsuranceList();
alInsuranceList.setId(res.getInsuranceId());
//如果存在当前日期超过应还款日时的数据,则计算逾期天数,并且状态改为已逾期,同时要处理保后管理模块内容
if(times1 > times2){
int days = (int)((times1-times2)/1000/60/60/24);
entry.setOverdueDays(days);
entry.setRepaymentStatus(3);//已逾期
this.baseMapper.updateById(entry);//更新逾期天数和状态
//更新保后管理列表处的状态为已逾期,并且is_overdue设置为0
alInsuranceList.setPaymentStatus(2);//已逾期
alInsuranceList.setIsOverdue(0);//是否逾期过:0->是;1->否;
alInsuranceListMapper.updateById(alInsuranceList);
}else if(times1==times2){//应还款日=当前日期,则显示状态为待还款
entry.setRepaymentStatus(1);//待还款
this.baseMapper.updateById(entry);//更新状态
}else if(times3 <= times1){//实际还款日不超过当前日期时,状态为已还款
entry.setRepaymentStatus(2);//已还款
this.baseMapper.updateById(entry);//更新状态
}else if(times1 <= times2){//当前日期未到应还款日,状态为未到期
entry.setRepaymentStatus(4);//未到期
this.baseMapper.updateById(entry);//更新状态
if(res.getRemainAmount().doubleValue()>0){//如果存在剩余额度,保后管理列表状态为还款中
alInsuranceList.setPaymentStatus(1);//还款中
alInsuranceListMapper.updateById(alInsuranceList);
}
}
}
return 1;
}
} }

@ -292,6 +292,12 @@ public class DgMessageInvestigationServiceImpl extends ServiceImpl<DgMessageInve
//如果是信息部经理驳回情况 //如果是信息部经理驳回情况
if(messageInvestigation.getOperatingStatus().equals(StatusCode.CZ_ON_HAND) && messageInvestigation.getStatus().equals(StatusCode.SP_REJECT)){ if(messageInvestigation.getOperatingStatus().equals(StatusCode.CZ_ON_HAND) && messageInvestigation.getStatus().equals(StatusCode.SP_REJECT)){
//修改所有审批状态为审核中
DgMessageInvestigation investigation1 = new DgMessageInvestigation();
investigation1.setStatus(StatusCode.SP_IN_REVIEW);//审核中
this.baseMapper.update(investigation1,new QueryWrapper<DgMessageInvestigation>()
.eq("business_id",messageInvestigation.getBusinessId()));
//修改信息部调查员的审批状态为审核中,操作状态为已处理 //修改信息部调查员的审批状态为审核中,操作状态为已处理
DgMessageInvestigation investigation = new DgMessageInvestigation(); DgMessageInvestigation investigation = new DgMessageInvestigation();
investigation.setOperatingStatus(StatusCode.CZ_PROCESSED);//已处理 investigation.setOperatingStatus(StatusCode.CZ_PROCESSED);//已处理
@ -349,7 +355,7 @@ public class DgMessageInvestigationServiceImpl extends ServiceImpl<DgMessageInve
null, null,
Wrappers.<DgMessageInvestigation>lambdaUpdate() Wrappers.<DgMessageInvestigation>lambdaUpdate()
.set(DgMessageInvestigation::getEmpId, Integer.parseInt(dgApplyAmountInfoController.getUserId())) .set(DgMessageInvestigation::getEmpId, Integer.parseInt(dgApplyAmountInfoController.getUserId()))
.set(DgMessageInvestigation::getStatus, approvalMessageRequest.getStatus()) .set(DgMessageInvestigation::getStatus, dgMessageInvestigation.getStatus())//approvalMessageRequest.getStatus()
.set(DgMessageInvestigation::getOperatingStatus, StatusCode.CZ_PROCESSED) .set(DgMessageInvestigation::getOperatingStatus, StatusCode.CZ_PROCESSED)
.set(DgMessageInvestigation::getRemark, approvalMessageRequest.getRemark()) .set(DgMessageInvestigation::getRemark, approvalMessageRequest.getRemark())
.eq(DgMessageInvestigation::getId, approvalMessageRequest.getId()) .eq(DgMessageInvestigation::getId, approvalMessageRequest.getId())
@ -408,6 +414,12 @@ public class DgMessageInvestigationServiceImpl extends ServiceImpl<DgMessageInve
Integer count = this.baseMapper.selectCount(new QueryWrapper<DgMessageInvestigation>() Integer count = this.baseMapper.selectCount(new QueryWrapper<DgMessageInvestigation>()
.eq("business_id", messageInvestigation2.getBusinessId()).eq("type", 3)); .eq("business_id", messageInvestigation2.getBusinessId()).eq("type", 3));
DgMessageInvestigation assign = new DgMessageInvestigation();
assign.setStatus(StatusCode.SP_IN_REVIEW);//审批状态为审核中
//修改该业务下所有审批状态为审核中
this.baseMapper.update(assign,new QueryWrapper<DgMessageInvestigation>()
.eq("business_id",messageInvestigation.getBusinessId()));
if(count>0){//资产领导有数据,则直接修改领导状态 if(count>0){//资产领导有数据,则直接修改领导状态
DgMessageInvestigation assignUser = new DgMessageInvestigation(); DgMessageInvestigation assignUser = new DgMessageInvestigation();
assignUser.setStatus(StatusCode.SP_IN_REVIEW);//审批状态为审核中 assignUser.setStatus(StatusCode.SP_IN_REVIEW);//审批状态为审核中

@ -29,6 +29,9 @@
<if test="customerNumberOrName != null and customerNumberOrName != '' "> <if test="customerNumberOrName != null and customerNumberOrName != '' ">
AND repayment_date = #{customerNumberOrName} AND repayment_date = #{customerNumberOrName}
</if> </if>
<if test="insuranceId != null">
AND insurance_id = #{insuranceId}
</if>
</where> </where>
order by create_time desc order by create_time desc
</select> </select>
@ -44,4 +47,21 @@
order by create_time desc order by create_time desc
</select> </select>
<select id="selectRepaymentList" resultType="com.daqing.financial.guarantee.model.response.AlRepaymentCountRes">
select re.insurance_id,COUNT(re.id) as repaymentSum,SUM(re.current_repayment) as alreadyPaymentSum,il.guarantee_amount as guaranteeAmount
from al_repayment_entry re left join al_insurance_list il on il.id=re.insurance_id
where re.repayment_status=2 and il.payment_status in (1,2)
GROUP BY re.insurance_id
</select>
<select id="selectOverDueDays" resultType="com.daqing.financial.guarantee.model.response.AlRepaymentEntryRes">
select id,insurance_id,repayment_date from al_repayment_entry where DATE_FORMAT(NOW(),'%Y-%m-%d')> repayment_date
</select>
<select id="selectBind" resultType="com.daqing.financial.guarantee.model.response.AlRepaymentEntryRes">
select re.id,re.insurance_id,re.repayment_date,il.remain_amount as remainAmount,re.actual_repayment_date
from al_repayment_entry re
left join al_insurance_list il on re.insurance_id=il.id
</select>
</mapper> </mapper>

@ -1,21 +1,21 @@
#服务名称 #服务名称
#spring.application.name=dq-financial-hrms-auth spring.application.name=dq-financial-hrms-auth
##配置中心地址 #配置中心地址
#spring.cloud.nacos.config.server-addr=127.0.0.1:8848 spring.cloud.nacos.config.server-addr=127.0.0.1:8848
#spring.cloud.nacos.config.file-extension=yml spring.cloud.nacos.config.file-extension=yml
##redis配置 #redis配置
#spring.redis.host=127.0.0.1 spring.redis.host=127.0.0.1
#spring.redis.port=6379 spring.redis.port=6379
#spring.redis.password= spring.redis.password=
#spring.redis.database=0 spring.redis.database=0
#spring.redis.timeout=30000 spring.redis.timeout=30000
#spring.redis.jedis.pool.max-active=8 spring.redis.jedis.pool.max-active=8
#spring.redis.jedis.pool.max-wait=-1 spring.redis.jedis.pool.max-wait=-1
#spring.redis.jedis.pool.max-idle=8 spring.redis.jedis.pool.max-idle=8
#spring.redis.jedis.pool.min-idle=0 spring.redis.jedis.pool.min-idle=0
#
##本地测试环境 #本地测试环境
#spring.cloud.nacos.config.namespace=1520c5ea-5f15-4ac1-9eb1-d25924825b99 spring.cloud.nacos.config.namespace=1520c5ea-5f15-4ac1-9eb1-d25924825b99
#线上测试环境 #线上测试环境
#spring.cloud.nacos.config.namespace=5698e60a-9d0b-433f-a69f-12b0a2d23128 #spring.cloud.nacos.config.namespace=5698e60a-9d0b-433f-a69f-12b0a2d23128
@ -33,30 +33,30 @@ ribbon.ConnectTimeout: 30000
#正式环境(prod) #正式环境(prod)
spring.application.name=dq-financial-hrms-auth #spring.application.name=dq-financial-hrms-auth
#
spring.cloud.nacos.config.server-addr=120.78.127.12:8848 #spring.cloud.nacos.config.server-addr=120.78.127.12:8848
spring.cloud.nacos.config.namespace=b590c830-7ada-44b7-968f-e8d0c81990c4 #spring.cloud.nacos.config.namespace=b590c830-7ada-44b7-968f-e8d0c81990c4
#spring.cloud.nacos.config.group=prod ##spring.cloud.nacos.config.group=prod
#
spring.cloud.nacos.config.ext-config[0].data-id=datasource.yml #spring.cloud.nacos.config.ext-config[0].data-id=datasource.yml
spring.cloud.nacos.config.ext-config[0].group=prod #spring.cloud.nacos.config.ext-config[0].group=prod
spring.cloud.nacos.config.ext-config[0].refresh=true #spring.cloud.nacos.config.ext-config[0].refresh=true
#
spring.cloud.nacos.config.ext-config[1].data-id=mybatis.yml #spring.cloud.nacos.config.ext-config[1].data-id=mybatis.yml
spring.cloud.nacos.config.ext-config[1].group=prod #spring.cloud.nacos.config.ext-config[1].group=prod
spring.cloud.nacos.config.ext-config[1].refresh=true #spring.cloud.nacos.config.ext-config[1].refresh=true
#
spring.cloud.nacos.config.ext-config[2].data-id=other.yml #spring.cloud.nacos.config.ext-config[2].data-id=other.yml
spring.cloud.nacos.config.ext-config[2].group=prod #spring.cloud.nacos.config.ext-config[2].group=prod
spring.cloud.nacos.config.ext-config[2].refresh=true #spring.cloud.nacos.config.ext-config[2].refresh=true
#
spring.redis.host=127.0.0.1 #spring.redis.host=127.0.0.1
spring.redis.port=6379 #spring.redis.port=6379
spring.redis.password=dq123456 #spring.redis.password=dq123456
spring.redis.database=0 #spring.redis.database=0
spring.redis.timeout=30000 #spring.redis.timeout=30000
spring.redis.jedis.pool.max-active=8 #spring.redis.jedis.pool.max-active=8
spring.redis.jedis.pool.max-wait=-1 #spring.redis.jedis.pool.max-wait=-1
spring.redis.jedis.pool.max-idle=8 #spring.redis.jedis.pool.max-idle=8
spring.redis.jedis.pool.min-idle=0 #spring.redis.jedis.pool.min-idle=0

@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@ -92,6 +93,7 @@ public class CompanyCustomerEntity implements Serializable {
@ApiModelProperty(value = "经营地址") @ApiModelProperty(value = "经营地址")
private String businessAddr; private String businessAddr;
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@ApiModelProperty(value = "注册时间") @ApiModelProperty(value = "注册时间")
private Date registerTime; private Date registerTime;

@ -59,7 +59,7 @@ public class CrmsCompanyPersonal implements Serializable {
* 注册时间 * 注册时间
*/ */
@ApiModelProperty(value = "注册时间") @ApiModelProperty(value = "注册时间")
//@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date registeredTime; private Date registeredTime;
/** /**

@ -1,5 +1,6 @@
package com.daqing.framework.domain.crms.ext; package com.daqing.framework.domain.crms.ext;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.ToString; import lombok.ToString;
@ -96,6 +97,7 @@ public class CustomerCompanyDTO implements Serializable {
@ApiModelProperty(value = "社会统一代码") @ApiModelProperty(value = "社会统一代码")
private String socialUnifiedCode; private String socialUnifiedCode;
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@ApiModelProperty(value = "注册时间") @ApiModelProperty(value = "注册时间")
private Date registerTime; private Date registerTime;

@ -86,7 +86,7 @@ public class AlInsuranceList implements Serializable {
/** /**
* 还款期数 * 还款期数
*/ */
private String repaymentTime; private Integer repaymentTime;
/** /**
* 所属部门 * 所属部门

@ -77,7 +77,7 @@ public class DgBusinessCompany implements Serializable {
/** /**
* 注册时间 * 注册时间
*/ */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date registerTime; private Date registerTime;
/** /**

Loading…
Cancel
Save