diff --git a/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempExportVo.java b/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempExportVo.java index 721d8d98c6..530eb0d402 100644 --- a/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempExportVo.java +++ b/anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempExportVo.java @@ -10,8 +10,8 @@ import lombok.Data; */ @Data public class CrmCustomerTempExportVo { -// private String staffSid; -// private String createOrgSid; + private String staffSid; + private String createOrgSid; @ExportEntityMap(CnName = "序号", EnName = "rankNo") private Integer rankNo; @ExportEntityMap(CnName = "创建日期", EnName = "createTime") diff --git a/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempMapper.xml b/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempMapper.xml index e3cbfa7aeb..c8ef529172 100644 --- a/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempMapper.xml +++ b/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempMapper.xml @@ -251,29 +251,33 @@ + select * + from sys_appendix + where linkSid = #{linkSid} + + + + delete + from sys_appendix + where linkSid = #{linkSid} + + + + \ No newline at end of file diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysappendix/SysAppendixService.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysappendix/SysAppendixService.java new file mode 100644 index 0000000000..ae8531fd49 --- /dev/null +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysappendix/SysAppendixService.java @@ -0,0 +1,79 @@ +package com.yxt.anrui.portal.biz.sysappendix; + +import com.yxt.anrui.portal.api.sysappendix.SysAppendix; +import com.yxt.anrui.portal.api.sysappendix.SysAppendixQuery; +import com.yxt.anrui.portal.api.sysnotice.UrlQuery; +import com.yxt.common.base.config.component.FileUploadComponent; +import com.yxt.common.base.service.MybatisBaseService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.io.File; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/2/1 + **/ +@Service +public class SysAppendixService extends MybatisBaseService { + + @Autowired + private FileUploadComponent fileUploadComponent; + + @Transactional(rollbackFor = Exception.class) + public int saveOrUpdateAppAppendix(SysAppendixQuery query) { + int i = 0; + String urlPrefix = fileUploadComponent.getUrlPrefix(); + String uploadPath = fileUploadComponent.getUploadPath(); + List list = query.getFilesList(); + List appendixList = baseMapper.selectByLinkSid(query.getLinkSid()); + // 去重列表(删除) + appendixList.stream().forEach(item -> { + item.setFilePath(urlPrefix + item.getFilePath()); + }); + List s = list.stream().map(v->v.getUrl()).collect(Collectors.toList()); + List oldList = appendixList.stream().map(SysAppendix::getFilePath).collect(Collectors.toList()); + List delList = oldList.stream().filter(item -> !s.contains(item)).collect(Collectors.toList()); + // 删除旧数据 + baseMapper.deleteByLinkSid(query.getLinkSid()); + + // 增加 + for (UrlQuery strs : list) { + String str = strs.getUrl(); + String pathLoc = str.replace(urlPrefix, uploadPath); + pathLoc = pathLoc.replace("/", File.separator); + File file = new File(pathLoc); + String size = ""; + if (file != null) { + size = fileUploadComponent.getPrintSize(file.length()); + } + String suffix = str.substring(str.lastIndexOf(".") + 1); // 文件类型 + String fileName = str.substring(str.lastIndexOf("/") + 1, str.lastIndexOf(".")); // 文件名 + SysAppendix commonAppendix = new SysAppendix(); + commonAppendix.setFileName(strs.getName()); + commonAppendix.setFileType(suffix); + commonAppendix.setLinkSid(query.getLinkSid()); + commonAppendix.setAttachType(""); + commonAppendix.setFileSize(size); + commonAppendix.setFilePath(str.replace(urlPrefix, "")); + i = insert(commonAppendix); + } + // 删除原文件 + if (i == 1) { + for (String path : delList) { + String pathLoc = path.replace(urlPrefix, uploadPath); + pathLoc = pathLoc.substring(0, pathLoc.lastIndexOf("/") + 1).replace("/", File.separator); + fileUploadComponent.deleteFiles(path, pathLoc); + } + } + return i; + } + + public List selectByLinKSid(String sid) { + return baseMapper.selectByLinkSids(sid); + } +} diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysnotice/SysNoticeMapper.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysnotice/SysNoticeMapper.java index 122d28133b..9234933cca 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysnotice/SysNoticeMapper.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysnotice/SysNoticeMapper.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.anrui.portal.api.sysnotice.NoticeAppListVo; import com.yxt.anrui.portal.api.sysnotice.SysNotice; import com.yxt.anrui.portal.api.sysnotice.SysNoticeListVo; import com.yxt.anrui.portal.api.sysnotice.SysNoticeVo; @@ -22,4 +23,6 @@ public interface SysNoticeMapper extends BaseMapper { IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); List getLists(); + + List getAppDetails(); } diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysnotice/SysNoticeMapper.xml b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysnotice/SysNoticeMapper.xml index 6e0fdb9a6f..e8bfba9182 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysnotice/SysNoticeMapper.xml +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysnotice/SysNoticeMapper.xml @@ -2,7 +2,8 @@ + + \ No newline at end of file diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysnotice/SysNoticeRest.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysnotice/SysNoticeRest.java index 638caf95ed..f3908d2c23 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysnotice/SysNoticeRest.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysnotice/SysNoticeRest.java @@ -60,4 +60,19 @@ public class SysNoticeRest implements SysNoticeFeign { public ResultBean delBySids(String[] sids) { return sysNoticeService.delAllBySids(sids); } + + @Override + public ResultBean savePushNotice(PushNoticeQuery query) { + return sysNoticeService.savePushNotice(query); + } + + @Override + public ResultBean> getAppDetails() { + return sysNoticeService.getAppDetails(); + } + + @Override + public ResultBean getDetailsApp(String sid) { + return sysNoticeService.getDetailsApp(sid); + } } diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysnotice/SysNoticeService.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysnotice/SysNoticeService.java index 29d2f3ce0b..15eb622f52 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysnotice/SysNoticeService.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysnotice/SysNoticeService.java @@ -2,9 +2,14 @@ package com.yxt.anrui.portal.biz.sysnotice; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateUtil; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.anrui.portal.api.appsubsetversion.AppSubsetVersionVo; +import com.yxt.anrui.portal.api.sysappendix.SysAppendixQuery; import com.yxt.anrui.portal.api.sysnotice.*; +import com.yxt.anrui.portal.biz.appsubsetversion.AppSubsetVersionService; +import com.yxt.anrui.portal.biz.sysappendix.SysAppendixService; import com.yxt.common.base.config.component.FileUploadComponent; import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.utils.PagerUtil; @@ -13,12 +18,13 @@ import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Bean; import org.springframework.stereotype.Service; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; +import java.text.DateFormat; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.*; import java.util.stream.Collectors; /** @@ -31,6 +37,10 @@ public class SysNoticeService extends MybatisBaseService listPageVo(PagerQuery pagerQuery) { SysNoticeQuery query = pagerQuery.getParams(); @@ -72,8 +82,20 @@ public class SysNoticeService extends MybatisBaseService maps = new HashMap<>(); + maps.put("sid", sysNotice.getSid()); + sysNotice.setArgs_json(JSONObject.toJSONString(maps)); + sysNotice.setCreateType("0"); baseMapper.insert(sysNotice); } else { SysNotice sysNotice = fetchBySid(sid); @@ -81,6 +103,13 @@ public class SysNoticeService extends MybatisBaseService maps = new HashMap<>(); + maps.put("sid", sysNotice.getSid()); + sysNotice.setArgs_json(JSONObject.toJSONString(maps)); + sysNotice.setCreateType("0"); List filss = dto.getFilesList(); filss.removeAll(Collections.singleton(null)); if (!filss.isEmpty()) { @@ -89,6 +118,10 @@ public class SysNoticeService extends MybatisBaseService lists = new ArrayList<>(); if (StringUtils.isNotBlank(filesss)) { - List fileList = Arrays.asList(filesss.split(",")).stream().map(c -> fileUploadComponent.getUrlPrefix() + c).collect(Collectors.toList()); + List fileList = sysAppendixService.selectByLinKSid(sid); for (int i = 0; i < fileList.size(); i++) { UrlQuery urlQuery = new UrlQuery(); - urlQuery.setUrl(fileList.get(i)); + urlQuery.setUrl(fileUploadComponent.getUrlPrefix() + fileList.get(i).getUrl()); + urlQuery.setName(fileList.get(i).getName()); lists.add(urlQuery); } sysNoticeDetailsVo.setFilesList(lists); @@ -171,4 +205,77 @@ public class SysNoticeService extends MybatisBaseService> getAppDetails() { + ResultBean> rb = ResultBean.fireFail(); + List list = baseMapper.getAppDetails(); + list.removeAll(Collections.singleton(null)); + //定义的app的sid的index集合 + Map> appVer = new HashMap<>(); + if (!list.isEmpty()) { + for (int i = 0; i < list.size(); i++) { + NoticeAppListVo noticeAppListVo = list.get(i); + PushNoticeAppVo pageInfo = new PushNoticeAppVo(); + pageInfo.setModuleAction(noticeAppListVo.getModuleAction()); + pageInfo.setType(noticeAppListVo.getApp_type()); + pageInfo.setJson(noticeAppListVo.getArgs_json()); + String moduleSid = noticeAppListVo.getModuleSid(); + List integers = appVer.get(moduleSid); + if (integers == null) { + integers = new ArrayList<>(); + } + integers.add(i); + appVer.put(moduleSid, integers); + noticeAppListVo.setPageInfo(pageInfo); + } + // 循环取map:若为同一个app版本,则只查询一次 + for (String key : appVer.keySet()) { + AppSubsetVersionVo appSubsetVersions = appSubsetVersionService.selectByAppSidOne(key); + if (appSubsetVersions != null) { + List integers = appVer.get(key); + for (int i = 0; i < integers.size(); i++) { + Integer integer = integers.get(i); + String path = fileUploadComponent.getUrlPrefix(); + list.get(integer).getPageInfo().setPath(path + appSubsetVersions.getUpdateUrl()); + list.get(integer).getPageInfo().setModuleVersion(appSubsetVersions.getVersionCode()); + list.get(integer).getPageInfo().setModulePluginName(appSubsetVersions.getModulePluginName()); + } + } + } + } + return rb.success().setData(list); + } + + public ResultBean getDetailsApp(String sid) { + ResultBean rb = ResultBean.fireFail(); + SysNoticeAppDetails sysNoticeAppDetails = new SysNoticeAppDetails(); + SysNotice sysNotice = fetchBySid(sid); + if (sysNotice == null) { + return rb.setMsg("该通知公告不存在"); + } + BeanUtil.copyProperties(sysNotice, sysNoticeAppDetails); + sysNoticeAppDetails.setCreateTime(DateUtil.format(sysNotice.getCreateTime(), "yyyy-MM-dd")); + String filesss = sysNotice.getFiles(); + if (StringUtils.isNotBlank(filesss)) { + List fileList = Arrays.asList(filesss.split(",")).stream().map(c -> fileUploadComponent.getUrlPrefix() + c).collect(Collectors.toList()); + fileList.removeAll(Collections.singleton(null)); + if (!fileList.isEmpty()) { + sysNoticeAppDetails.setFilesList(fileList); + } + } + return rb.success().setData(sysNoticeAppDetails); + } } diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfile/LoanFileEnum.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfile/LoanFileEnum.java index 6c9d46c9f8..6341540dbc 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfile/LoanFileEnum.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfile/LoanFileEnum.java @@ -40,6 +40,9 @@ public enum LoanFileEnum { DELIVERYFILES("026", "交回车辆出库车辆交付确认书"), ASSESSFILES("027", "交回车辆出库车辆完整评估照片"), OTHERFILES("028", "交回车辆出库其他附件"), + MORTGAGE_NOTICES("029", "解抵管理-解抵通知单"), + MORTGAGE_POROXY("030", "解抵管理-委托书"), + MORTGAGE_HANDOVER_INFO("031", "解抵管理-交接材料"), ; diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrelievemortgage/LoanRelieveMortgage.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrelievemortgage/LoanRelieveMortgage.java new file mode 100644 index 0000000000..2623fbd5da --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrelievemortgage/LoanRelieveMortgage.java @@ -0,0 +1,73 @@ +package com.yxt.anrui.riskcenter.api.loanrelievemortgage; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * @author Administrator + * @description + * @date 2023/8/16 14:34 + */ +@Data +@ApiModel(value = "解抵管理", description = "解抵管理") +@TableName("loan_relieve_mortgage") +public class LoanRelieveMortgage extends BaseEntity { + + @ApiModelProperty("使用组织sid") + private String useOrgSid; + @ApiModelProperty("使用组织名称") + private String useOrgName; + @ApiModelProperty("使用组织全路径") + private String orgSidPath; + @ApiModelProperty("销售订单关联业务车辆sid") + private String busVinSid; + @ApiModelProperty("车架号") + private String vinNo; + @ApiModelProperty("车辆sid") + private String vehSid; + @ApiModelProperty("车牌号") + private String vehMark; + @ApiModelProperty("消贷合同号") + private String loanContractNo; + @ApiModelProperty("资方合同号") + private String bankContractNo; + @ApiModelProperty("销售部门") + private String dept; + @ApiModelProperty("销售部门sid") + private String deptSid; + @ApiModelProperty("销售专员") + private String salesman; + @ApiModelProperty("销售专员sid") + private String salesmanSid; + @ApiModelProperty("贷款人") + private String borrowerName; + @ApiModelProperty("贷款人sid") + private String borrowerSid; + @ApiModelProperty("客户名称") + private String customer; + @ApiModelProperty("客户Sid") + private String customerSid; + @ApiModelProperty("移交日期") + private Date transferDate; + @ApiModelProperty("接收文件") + private String receiveFiles; + @ApiModelProperty("快递单号") + private String trackingNo; + @ApiModelProperty("移交方式key") + private String transferWayKey; + @ApiModelProperty("移交方式value(001邮寄002自送)") + private String transferWayValue; + @ApiModelProperty("接收人/签收人") + private String recipient; + @ApiModelProperty("移交备注") + private String transferRemarks; + @ApiModelProperty("其他移交资料") + private String otherInformation; + @ApiModelProperty("资方") + private String bankName; +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrelievemortgage/LoanRelieveMortgageDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrelievemortgage/LoanRelieveMortgageDto.java new file mode 100644 index 0000000000..021e235054 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrelievemortgage/LoanRelieveMortgageDto.java @@ -0,0 +1,27 @@ +package com.yxt.anrui.riskcenter.api.loanrelievemortgage; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/8/21 9:12 + */ +@Data +public class LoanRelieveMortgageDto implements Dto { + + private String sid; + private String remarks; + private String userSid; + @ApiModelProperty("参数编码") + private String parameterNo; + @ApiModelProperty("参数名称") + private String parameterName; + @ApiModelProperty("参数值") + private String parameterValue; + @ApiModelProperty("使用组织全路径") + private String orgPath; + +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrelievemortgage/LoanRelieveMortgageFeign.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrelievemortgage/LoanRelieveMortgageFeign.java new file mode 100644 index 0000000000..fe978d4382 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrelievemortgage/LoanRelieveMortgageFeign.java @@ -0,0 +1,59 @@ +package com.yxt.anrui.riskcenter.api.loanrelievemortgage; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.*; + + +/** + * @description: 解抵管理 + * @author: fan + * @date: 2023/7/6 + **/ +@Api(tags = "解抵管理") +@FeignClient( + contextId = "anrui-riskcenter-LoanRelieveMortgage", + name = "anrui-riskcenter", + path = "v1/loanrelievemortgage", + fallback = LoanRelieveMortgageFeignFallback.class) +public interface LoanRelieveMortgageFeign { + + /** + * 根据条件分页查询数据的列表(已测试) + * + * @param pq + */ + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq); + + @ApiOperation("新增") + @PostMapping("/saveRelieveMortgage") + @ResponseBody + public ResultBean saveRelieveMortgage(@RequestBody LoanRelieveMortgageSaveDto dto); + + @ApiOperation("办理初始化") + @GetMapping("/mortgageInit") + @ResponseBody + public ResultBean mortgageInit(@RequestParam("sid") String sid); + + @ApiOperation("办理操作") + @PostMapping("/mortgageHandle") + @ResponseBody + public ResultBean mortgageHandle(@RequestBody MortgageInitDto dto); + + @ApiOperation("移交初始化/详情") + @GetMapping("/transferInit") + @ResponseBody + public ResultBean transferInit(@RequestParam("sid") String sid); + + @ApiOperation("移交操作") + @PostMapping("/mortgageTransfer") + @ResponseBody + public ResultBean mortgageTransfer(@RequestBody LoanRelieveMortgageTransferDto dto); + +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrelievemortgage/LoanRelieveMortgageFeignFallback.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrelievemortgage/LoanRelieveMortgageFeignFallback.java new file mode 100644 index 0000000000..6d18f26328 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrelievemortgage/LoanRelieveMortgageFeignFallback.java @@ -0,0 +1,45 @@ +package com.yxt.anrui.riskcenter.api.loanrelievemortgage; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import org.springframework.stereotype.Component; + +/** + * @author Administrator + * @description + * @date 2023/8/16 14:36 + */ +@Component +public class LoanRelieveMortgageFeignFallback implements LoanRelieveMortgageFeign { + + @Override + public ResultBean> listPage(PagerQuery pq) { + return null; + } + + @Override + public ResultBean saveRelieveMortgage(LoanRelieveMortgageSaveDto dto) { + return null; + } + + @Override + public ResultBean mortgageInit(String sid) { + return null; + } + + @Override + public ResultBean mortgageHandle(MortgageInitDto dto) { + return null; + } + + @Override + public ResultBean transferInit(String sid) { + return null; + } + + @Override + public ResultBean mortgageTransfer(LoanRelieveMortgageTransferDto dto) { + return null; + } +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrelievemortgage/LoanRelieveMortgageFile.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrelievemortgage/LoanRelieveMortgageFile.java new file mode 100644 index 0000000000..229c33d61d --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrelievemortgage/LoanRelieveMortgageFile.java @@ -0,0 +1,18 @@ +package com.yxt.anrui.riskcenter.api.loanrelievemortgage; + +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/11/17 9:18 + */ +@Data +public class LoanRelieveMortgageFile { + private String filePath; + private String name; + private String size; + private String status; + private String uid; + private String url; +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrelievemortgage/LoanRelieveMortgageQuery.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrelievemortgage/LoanRelieveMortgageQuery.java new file mode 100644 index 0000000000..6c95564653 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrelievemortgage/LoanRelieveMortgageQuery.java @@ -0,0 +1,50 @@ +package com.yxt.anrui.riskcenter.api.loanrelievemortgage; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/8/16 15:05 + */ +@Data +public class LoanRelieveMortgageQuery implements Query { + + @ApiModelProperty("移交状态") + private String state; + @ApiModelProperty("分公司") + private String useOrgName; + @ApiModelProperty("销售部门") + private String dept; + @ApiModelProperty("销售专员") + private String salesman; + @ApiModelProperty("消贷合同号") + private String loanContractNo; + @ApiModelProperty("车架号") + private String vinNo; + @ApiModelProperty("车牌号") + private String vehMark; + @ApiModelProperty("资方") + private String bankName; + @ApiModelProperty("资方合同号") + private String bankContractNo; + @ApiModelProperty("客户名称") + private String customer; + @ApiModelProperty("贷款人") + private String borrowerName; + @ApiModelProperty("移交开始日期") + private String transferStartDate; + @ApiModelProperty("移交结束日期") + private String transferEndDate; + + @ApiModelProperty("组织全路径") + private String orgPath; + @ApiModelProperty("菜单sid") + private String menuSid; + @ApiModelProperty("菜单url") + private String menuUrl; + @ApiModelProperty("用户sid") + private String userSid; +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrelievemortgage/LoanRelieveMortgageSaveDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrelievemortgage/LoanRelieveMortgageSaveDto.java new file mode 100644 index 0000000000..feb6e8f0ce --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrelievemortgage/LoanRelieveMortgageSaveDto.java @@ -0,0 +1,53 @@ +package com.yxt.anrui.riskcenter.api.loanrelievemortgage; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2024/2/1 17:35 + */ +@Data +public class LoanRelieveMortgageSaveDto implements Dto { + + @ApiModelProperty("创建者") + private String createBySid; + @ApiModelProperty("使用组织sid") + private String useOrgSid; + @ApiModelProperty("使用组织名称") + private String useOrgName; + @ApiModelProperty("使用组织全路径") + private String orgSidPath; + @ApiModelProperty("销售订单关联业务车辆sid") + private String busVinSid; + @ApiModelProperty("车架号") + private String vinNo; + @ApiModelProperty("车辆sid") + private String vehSid; + @ApiModelProperty("车牌号") + private String vehMark; + @ApiModelProperty("消贷合同号") + private String loanContractNo; + @ApiModelProperty("资方合同号") + private String bankContractNo; + @ApiModelProperty("销售部门") + private String dept; + @ApiModelProperty("销售部门sid") + private String deptSid; + @ApiModelProperty("销售专员") + private String salesman; + @ApiModelProperty("销售专员sid") + private String salesmanSid; + @ApiModelProperty("贷款人") + private String borrowerName; + @ApiModelProperty("贷款人sid") + private String borrowerSid; + @ApiModelProperty("客户名称") + private String customer; + @ApiModelProperty("客户Sid") + private String customerSid; + @ApiModelProperty("资方") + private String bankName; +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrelievemortgage/LoanRelieveMortgageTransferDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrelievemortgage/LoanRelieveMortgageTransferDto.java new file mode 100644 index 0000000000..f75ec5d177 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrelievemortgage/LoanRelieveMortgageTransferDto.java @@ -0,0 +1,38 @@ +package com.yxt.anrui.riskcenter.api.loanrelievemortgage; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author Fan + * @description + * @date 2024/2/2 15:08 + */ +@Data +public class LoanRelieveMortgageTransferDto implements Dto { + + private String sid; +// private List notices = new ArrayList<>(); //解抵通知单 +// private List proxy = new ArrayList<>(); //委托书 + private List handoverFiles = new ArrayList<>(); //交接材料 +// private List confirmFiles = new ArrayList<>(); //接收确认文件 + @ApiModelProperty("移交日期") + private String transferDate; + @ApiModelProperty("快递单号") + private String trackingNo; + @ApiModelProperty("移交方式key") + private String transferWayKey; + @ApiModelProperty("移交方式value(001邮寄002自送)") + private String transferWayValue; + @ApiModelProperty("接收人/签收人") + private String recipient; + @ApiModelProperty("移交备注") + private String transferRemarks; + @ApiModelProperty("其他移交资料") + private String otherInformation; + +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrelievemortgage/LoanRelieveMortgageTransferVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrelievemortgage/LoanRelieveMortgageTransferVo.java new file mode 100644 index 0000000000..38aa1213b4 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrelievemortgage/LoanRelieveMortgageTransferVo.java @@ -0,0 +1,55 @@ +package com.yxt.anrui.riskcenter.api.loanrelievemortgage; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * @author Fan + * @description + * @date 2024/2/2 15:08 + */ +@Data +public class LoanRelieveMortgageTransferVo implements Vo { + + private String sid; + @ApiModelProperty("车架号") + private String vinNo; + @ApiModelProperty("车牌号") + private String vehMark; + @ApiModelProperty("客户名称") + private String customer; + @ApiModelProperty("联系电话") + private String mobile; + @ApiModelProperty("消贷合同号") + private String loanContractNo; + @ApiModelProperty("资方合同号") + private String bankContractNo; + @ApiModelProperty("贷款人") + private String borrowerName; + @ApiModelProperty("资方") + private String bankName; + private List notices = new ArrayList<>(); //解抵通知单 + private List proxy = new ArrayList<>(); //委托书 + private List handoverFiles = new ArrayList<>(); //交接材料 + private List confirmFiles = new ArrayList<>(); //接收确认文件 + @ApiModelProperty("移交日期") + private String transferDate; + @ApiModelProperty("快递单号") + private String trackingNo; + @ApiModelProperty("移交方式key") + private String transferWayKey; + @ApiModelProperty("移交方式value(001邮寄002自送)") + private String transferWayValue; + @ApiModelProperty("接收人/签收人") + private String recipient; + @ApiModelProperty("移交备注") + private String transferRemarks; + @ApiModelProperty("其他移交资料") + private String otherInformation; + +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrelievemortgage/LoanRelieveMortgageVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrelievemortgage/LoanRelieveMortgageVo.java new file mode 100644 index 0000000000..a30299428f --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrelievemortgage/LoanRelieveMortgageVo.java @@ -0,0 +1,43 @@ +package com.yxt.anrui.riskcenter.api.loanrelievemortgage; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * @author Administrator + * @description + * @date 2023/8/16 15:04 + */ +@Data +public class LoanRelieveMortgageVo implements Vo { + + private String sid; + @ApiModelProperty("移交状态") + private String state; + @ApiModelProperty("分公司") + private String useOrgName; + @ApiModelProperty("销售部门") + private String dept; + @ApiModelProperty("销售专员") + private String salesman; + @ApiModelProperty("消贷合同号") + private String loanContractNo; + @ApiModelProperty("车架号") + private String vinNo; + @ApiModelProperty("车牌号") + private String vehMark; + @ApiModelProperty("资方") + private String bankName; + @ApiModelProperty("资方合同号") + private String bankContractNo; + @ApiModelProperty("客户名称") + private String customer; + @ApiModelProperty("贷款人") + private String borrowerName; + @ApiModelProperty("移交日期") + private String transferDate; + +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrelievemortgage/MortgageInitDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrelievemortgage/MortgageInitDto.java new file mode 100644 index 0000000000..f8e5f2e905 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrelievemortgage/MortgageInitDto.java @@ -0,0 +1,40 @@ +package com.yxt.anrui.riskcenter.api.loanrelievemortgage; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author Fan + * @description + * @date 2024/2/2 14:34 + */ +@Data +public class MortgageInitDto implements Dto { + + private String sid; + @ApiModelProperty("车架号") + private String vinNo; + @ApiModelProperty("车牌号") + private String vehMark; + @ApiModelProperty("客户名称") + private String customer; + @ApiModelProperty("联系电话") + private String mobile; + @ApiModelProperty("消贷合同号") + private String loanContractNo; + @ApiModelProperty("资方合同号") + private String bankContractNo; + @ApiModelProperty("贷款人") + private String borrowerName; + @ApiModelProperty("资方") + private String bankName; + private List notices = new ArrayList<>(); //解抵通知单 + private List proxy = new ArrayList<>(); //委托书 + private List confirmFiles = new ArrayList<>(); //接收确认文件 + private String remarks; //备注 + +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrelievemortgage/MortgageInitVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrelievemortgage/MortgageInitVo.java new file mode 100644 index 0000000000..c8d2265e0f --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrelievemortgage/MortgageInitVo.java @@ -0,0 +1,42 @@ +package com.yxt.anrui.riskcenter.api.loanrelievemortgage; + +import com.yxt.anrui.riskcenter.api.loanredemptionapply.LoanRedemptionApplyFile; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author Fan + * @description + * @date 2024/2/2 14:24 + */ +@Data +public class MortgageInitVo implements Vo { + + private String sid; + @ApiModelProperty("车架号") + private String vinNo; + @ApiModelProperty("车牌号") + private String vehMark; + @ApiModelProperty("客户名称") + private String customer; + @ApiModelProperty("联系电话") + private String mobile; + @ApiModelProperty("消贷合同号") + private String loanContractNo; + @ApiModelProperty("资方合同号") + private String bankContractNo; + @ApiModelProperty("贷款人") + private String borrowerName; + @ApiModelProperty("资方") + private String bankName; + private List notices = new ArrayList<>(); //解抵通知单 + private List proxy = new ArrayList<>(); //委托书 + private List confirmFiles = new ArrayList<>(); //接收确认文件 + private String remarks; //备注 + + +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesbidding/BiddingVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesbidding/BiddingVo.java new file mode 100644 index 0000000000..9481c6d790 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesbidding/BiddingVo.java @@ -0,0 +1,21 @@ +package com.yxt.anrui.riskcenter.api.loansecondarysalesbidding; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/2/2 + **/ +@Data +public class BiddingVo { + @ApiModelProperty("时间") + private String createTime; + @ApiModelProperty("报价") + private String price; + @ApiModelProperty("分公司") + private String useOrgName; + @ApiModelProperty("报价人") + private String createByName; +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesbidding/LoanSecondarySalesBidding.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesbidding/LoanSecondarySalesBidding.java new file mode 100644 index 0000000000..6c1f879335 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesbidding/LoanSecondarySalesBidding.java @@ -0,0 +1,26 @@ +package com.yxt.anrui.riskcenter.api.loansecondarysalesbidding; + +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/2/2 + **/ +@Data +public class LoanSecondarySalesBidding extends BaseEntity { + private static final long serialVersionUID = 5823145478364799224L; + @ApiModelProperty("报价人") + private String createByName; + private String mainSid; + @ApiModelProperty("报价") + private BigDecimal price; + @ApiModelProperty("分公司") + private String useOrgName; + private String useOrgSid; + private String orgSidPath; +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesbidding/LoanSecondarySalesBiddingDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesbidding/LoanSecondarySalesBiddingDto.java new file mode 100644 index 0000000000..d0845e0627 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesbidding/LoanSecondarySalesBiddingDto.java @@ -0,0 +1,21 @@ +package com.yxt.anrui.riskcenter.api.loansecondarysalesbidding; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/2/2 + **/ +@Data +public class LoanSecondarySalesBiddingDto { + + private String mainSid; + @ApiModelProperty("报价") + private String price; + @ApiModelProperty("机构全路径") + private String orgPath; + + private String userSid; +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesbidding/LoanSecondarySalesBiddingFeign.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesbidding/LoanSecondarySalesBiddingFeign.java new file mode 100644 index 0000000000..3a98067af5 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesbidding/LoanSecondarySalesBiddingFeign.java @@ -0,0 +1,36 @@ +package com.yxt.anrui.riskcenter.api.loansecondarysalesbidding; + +import com.yxt.common.core.result.ResultBean; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestParam; + +import java.util.List; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/2/2 + **/ +@FeignClient( + contextId = "anrui-riskcenter-LoanSecondarySalesBidding", + name = "anrui-riskcenter", + path = "v1/LoanSecondarySalesBidding", + fallback = LoanSecondarySalesBiddingFeignFallback.class) +public interface LoanSecondarySalesBiddingFeign { + + @ApiOperation("保存") + @PostMapping("/save") + ResultBean save(@RequestBody LoanSecondarySalesBiddingDto dto); + + @ApiOperation("竞价列表") + @GetMapping("/getList") + ResultBean> getList(@RequestParam("sid") String sid); + + @ApiOperation("当前竞价最高") + @GetMapping("/getPrice") + ResultBean getPrice(@RequestParam("sid") String sid); +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesbidding/LoanSecondarySalesBiddingFeignFallback.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesbidding/LoanSecondarySalesBiddingFeignFallback.java new file mode 100644 index 0000000000..c1a74352d2 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansecondarysalesbidding/LoanSecondarySalesBiddingFeignFallback.java @@ -0,0 +1,12 @@ +package com.yxt.anrui.riskcenter.api.loansecondarysalesbidding; + +import org.springframework.stereotype.Component; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/2/2 + **/ +@Component +public class LoanSecondarySalesBiddingFeignFallback { +} diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrelievemortgage/LoanRelieveMortgageMapper.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrelievemortgage/LoanRelieveMortgageMapper.java new file mode 100644 index 0000000000..b49ddf308a --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrelievemortgage/LoanRelieveMortgageMapper.java @@ -0,0 +1,22 @@ +package com.yxt.anrui.riskcenter.biz.loanrelievemortgage; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.anrui.riskcenter.api.loanredemptionapply.RedemptionVinList; +import com.yxt.anrui.riskcenter.api.loanredemptionveh.LoanRedemptionVeh; +import com.yxt.anrui.riskcenter.api.loanrelievemortgage.LoanRelieveMortgage; +import com.yxt.anrui.riskcenter.api.loanrelievemortgage.LoanRelieveMortgageVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + + +@Mapper +public interface LoanRelieveMortgageMapper extends BaseMapper { + + + IPage listPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); +} diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrelievemortgage/LoanRelieveMortgageMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrelievemortgage/LoanRelieveMortgageMapper.xml new file mode 100644 index 0000000000..21aa6e0811 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrelievemortgage/LoanRelieveMortgageMapper.xml @@ -0,0 +1,26 @@ + + + + + + + \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrelievemortgage/LoanRelieveMortgageRest.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrelievemortgage/LoanRelieveMortgageRest.java new file mode 100644 index 0000000000..37ad3ace0d --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrelievemortgage/LoanRelieveMortgageRest.java @@ -0,0 +1,54 @@ +package com.yxt.anrui.riskcenter.biz.loanrelievemortgage; + +import com.yxt.anrui.riskcenter.api.loanparameter.LoanParameterVo; +import com.yxt.anrui.riskcenter.api.loanredemptionveh.LoanRedemptionVehFeign; +import com.yxt.anrui.riskcenter.api.loanrelievemortgage.*; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import io.swagger.annotations.Api; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +@Api(tags = "解抵管理") +@RestController +@RequestMapping("v1/loanrelievemortgage") +public class LoanRelieveMortgageRest implements LoanRelieveMortgageFeign { + + @Autowired + private LoanRelieveMortgageService loanRelieveMortgageService; + + @Override + public ResultBean> listPage(PagerQuery pq) { + ResultBean> rb = ResultBean.fireFail(); + PagerVo pv = loanRelieveMortgageService.listPage(pq); + return rb.success().setData(pv); + } + + @Override + public ResultBean saveRelieveMortgage(LoanRelieveMortgageSaveDto dto) { + return loanRelieveMortgageService.saveRelieveMortgage(dto); + } + + @Override + public ResultBean mortgageInit(String sid) { + return loanRelieveMortgageService.mortgageInit(sid); + } + + @Override + public ResultBean mortgageHandle(MortgageInitDto dto) { + return loanRelieveMortgageService.mortgageHandle(dto); + } + + @Override + public ResultBean transferInit(String sid) { + return loanRelieveMortgageService.transferInit(sid); + } + + @Override + public ResultBean mortgageTransfer(LoanRelieveMortgageTransferDto dto) { + return loanRelieveMortgageService.mortgageTransfer(dto); + } +} diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrelievemortgage/LoanRelieveMortgageService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrelievemortgage/LoanRelieveMortgageService.java new file mode 100644 index 0000000000..7654abc47d --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrelievemortgage/LoanRelieveMortgageService.java @@ -0,0 +1,369 @@ +package com.yxt.anrui.riskcenter.biz.loanrelievemortgage; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.anrui.base.api.basetrailer.BaseTrailer; +import com.yxt.anrui.base.api.basetrailer.BaseTrailerFeign; +import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTemp; +import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign; +import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery; +import com.yxt.anrui.portal.api.sysuser.SysUserFeign; +import com.yxt.anrui.riskcenter.api.loanfile.LoanFile; +import com.yxt.anrui.riskcenter.api.loanfile.LoanFileEnum; +import com.yxt.anrui.riskcenter.api.loanredemptionapply.*; +import com.yxt.anrui.riskcenter.api.loanredemptionveh.LoanRedemptionVeh; +import com.yxt.anrui.riskcenter.api.loanrelievemortgage.*; +import com.yxt.anrui.riskcenter.biz.loanfile.LoanFileService; +import com.yxt.common.base.config.component.FileUploadComponent; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +/** + * @description: + * @author: fzz + * @date: 2023/7/6 + **/ +@Service +public class LoanRelieveMortgageService extends MybatisBaseService { + + @Autowired + private SysUserFeign sysUserFeign; + @Autowired + private CrmCustomerTempFeign crmCustomerTempFeign; + @Autowired + private BaseTrailerFeign baseTrailerFeign; + @Autowired + private LoanFileService loanFileService; + @Autowired + private FileUploadComponent fileUploadComponent; + + public ResultBean saveRelieveMortgage(LoanRelieveMortgageSaveDto dto) { + ResultBean rb = ResultBean.fireFail(); + LoanRelieveMortgage entity = new LoanRelieveMortgage(); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + int i = baseMapper.insert(entity); + if (i > 0) { + return rb.success(); + } + return rb; + } + + public PagerVo listPage(PagerQuery pq) { + IPage page = PagerUtil.queryToPage(pq); + LoanRelieveMortgageQuery pagerQuery = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + //======================= + PrivilegeQuery privilegeQuery = new PrivilegeQuery(); + privilegeQuery.setOrgPath(pagerQuery.getOrgPath()); + privilegeQuery.setMenuSid(pagerQuery.getMenuSid()); + privilegeQuery.setMenuUrl(pagerQuery.getMenuUrl()); + privilegeQuery.setUserSid(pagerQuery.getUserSid()); + ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); + if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { + //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) + String orgSidPath = pagerQuery.getOrgPath(); + orgSidPath = orgSidPath + "/"; + int i1 = orgSidPath.indexOf("/"); + int i2 = orgSidPath.indexOf("/", i1 + 1); + int i3 = orgSidPath.indexOf("/", i2 + 1); + int i4 = orgSidPath.indexOf("/", i3 + 1); + String orgLevelKey = defaultIdReltBean.getData(); + if ("1".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i1); + qw.like("orgSidPath", orgSidPath); + } else if ("2".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i2); + qw.like("orgSidPath", orgSidPath); + } else if ("3".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i3); + qw.like("orgSidPath", orgSidPath); + } else if ("4".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i4); + qw.like("orgSidPath", orgSidPath); + } else if ("5".equals(orgLevelKey)) { + qw.eq("createBySid", pagerQuery.getUserSid()); + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } else { + PagerVo p = new PagerVo<>(); + return p; + } + //======================= + //移交状态 + if (StringUtils.isNotBlank(pagerQuery.getState())) { + qw.like("`state`", pagerQuery.getState()); + } + //销售专员 + if (StringUtils.isNotBlank(pagerQuery.getSalesman())) { + qw.like("salesman", pagerQuery.getSalesman()); + } + //分公司 + if (StringUtils.isNotBlank(pagerQuery.getUseOrgName())) { + qw.like("useOrgName", pagerQuery.getUseOrgName()); + } + //申请部门 + if (StringUtils.isNotBlank(pagerQuery.getDept())) { + qw.like("dept", pagerQuery.getDept()); + } + //消贷合同号 + if (StringUtils.isNotBlank(pagerQuery.getLoanContractNo())) { + qw.like("loanContractNo", pagerQuery.getLoanContractNo()); + } + //资方 + if (StringUtils.isNotBlank(pagerQuery.getBankName())) { + qw.like("bankName", pagerQuery.getBankName()); + } + //资方合同号 + if (StringUtils.isNotBlank(pagerQuery.getBankContractNo())) { + qw.like("bankContractNo", pagerQuery.getBankContractNo()); + } + //客户名称 + if (StringUtils.isNotBlank(pagerQuery.getCustomer())) { + qw.like("customer", pagerQuery.getCustomer()); + } + //贷款人 + if (StringUtils.isNotBlank(pagerQuery.getBorrowerName())) { + qw.like("borrowerName", pagerQuery.getBorrowerName()); + } + //车架号 + if (StringUtils.isNotBlank(pagerQuery.getVinNo())) { + qw.like("vinNo", pagerQuery.getVinNo()); + } + //车牌号 + if (StringUtils.isNotBlank(pagerQuery.getVehMark())) { + qw.like("vehMark", pagerQuery.getVehMark()); + } + String startDate = pagerQuery.getTransferStartDate(); + String endDate = pagerQuery.getTransferEndDate(); + qw.apply(StringUtils.isNotEmpty(startDate), "date_format (transferDate,'%Y-%m-%d') >= date_format('" + startDate + "','%Y-%m-%d')"). + apply(StringUtils.isNotEmpty(endDate), "date_format (transferDate,'%Y-%m-%d') <= date_format('" + endDate + "','%Y-%m-%d')" + ); + + qw.eq("isDelete", 0); + qw.orderBy(true, false, "`state`") + .orderBy(true, false, "createTime") + ; + IPage pagging = baseMapper.listPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public ResultBean mortgageInit(String sid) { + ResultBean rb = ResultBean.fireFail(); + MortgageInitVo vo = new MortgageInitVo(); + LoanRelieveMortgage entity = fetchBySid(sid); + if (null != entity) { + BeanUtil.copyProperties(entity, vo); + if (StringUtils.isNotBlank(entity.getReceiveFiles())) { + List stringList = Arrays.asList(entity.getReceiveFiles().split(",")); + vo.setConfirmFiles(stringList); + } + CrmCustomerTemp customerTemp = crmCustomerTempFeign.fetchEntity(entity.getCustomerSid()).getData(); + if (null != customerTemp) { + if (StringUtils.isNotBlank(customerTemp.getMobile())) { + vo.setMobile(customerTemp.getMobile()); + } + } + List trailers = baseTrailerFeign.getByVehSid(entity.getVehSid()).getData(); + if (!trailers.isEmpty()) { + StringBuffer sb = new StringBuffer(); + sb.append(entity.getVinNo()).append("/"); + for (BaseTrailer trailer : trailers) { + sb.append(trailer.getVinNo()).append("/"); + } + if (sb.length() > 0) { + sb.delete(sb.length() - 1, sb.length()); + } + vo.setVinNo(sb.toString()); + } + List fileList = loanFileService.selectByLinkSid(sid, LoanFileEnum.MORTGAGE_NOTICES.getAttachType()); + fileList.removeAll(Collections.singleton(null)); + if (!fileList.isEmpty()) { + List files = fileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c.getFilePath()). + collect(Collectors.toList()); + List filess = new ArrayList<>(); + for (String file : files) { + LoanRelieveMortgageFile f = new LoanRelieveMortgageFile(); + f.setUrl(file); + filess.add(f); + } + vo.setNotices(filess); + } + List fileList2 = loanFileService.selectByLinkSid(sid, LoanFileEnum.MORTGAGE_POROXY.getAttachType()); + fileList2.removeAll(Collections.singleton(null)); + if (!fileList2.isEmpty()) { + List files = fileList2.stream().map(c -> fileUploadComponent.getUrlPrefix() + c.getFilePath()). + collect(Collectors.toList()); + List filess = new ArrayList<>(); + for (String file : files) { + LoanRelieveMortgageFile f = new LoanRelieveMortgageFile(); + f.setUrl(file); + filess.add(f); + } + vo.setProxy(filess); + } + } + return rb.success().setData(vo); + } + + @Transactional(rollbackFor = Exception.class) + public ResultBean mortgageHandle(MortgageInitDto dto) { + ResultBean rb = ResultBean.fireFail(); + String sid = dto.getSid(); + LoanRelieveMortgage entity = fetchBySid(sid); + StringBuffer sb = new StringBuffer(); + if (null != entity) { + if (StringUtils.isNotBlank(dto.getRemarks())) { + entity.setRemarks(dto.getRemarks()); + } + if (!dto.getConfirmFiles().isEmpty()) { + dto.getConfirmFiles().stream().forEach(s -> { + sb.append(s).append(","); + }); + if (sb.length() > 0) { + sb.delete(sb.length() - 1, sb.length()); + } + entity.setReceiveFiles(sb.toString()); + } + entity.setState(2); + baseMapper.updateById(entity); + //删除附件表中关于该linkSid的文件 + loanFileService.delByLinkSidOrType(sid, LoanFileEnum.MORTGAGE_NOTICES.getAttachType()); + loanFileService.delByLinkSidOrType(sid, LoanFileEnum.MORTGAGE_POROXY.getAttachType()); + List filess = dto.getNotices(); + if (!filess.isEmpty()) { + List files = new ArrayList<>(); + for (LoanRelieveMortgageFile file : filess) { + files.add(file.getUrl()); + } + loanFileService.saveAll(sid, files, LoanFileEnum.MORTGAGE_NOTICES.getAttachType()); + } + List pfiless = dto.getProxy(); + if (!pfiless.isEmpty()) { + List files = new ArrayList<>(); + for (LoanRelieveMortgageFile file : pfiless) { + files.add(file.getUrl()); + } + loanFileService.saveAll(sid, files, LoanFileEnum.MORTGAGE_POROXY.getAttachType()); + } + } + return rb.success(); + } + + public ResultBean transferInit(String sid) { + ResultBean rb = ResultBean.fireFail(); + LoanRelieveMortgageTransferVo vo = new LoanRelieveMortgageTransferVo(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + LoanRelieveMortgage entity = fetchBySid(sid); + if (null != entity) { + BeanUtil.copyProperties(entity, vo); + if (StringUtils.isNotBlank(entity.getReceiveFiles())) { + List stringList = Arrays.asList(entity.getReceiveFiles().split(",")); + vo.setConfirmFiles(stringList); + } + if (null != entity.getTransferDate()) { + vo.setTransferDate(sdf.format(entity.getTransferDate())); + } + CrmCustomerTemp customerTemp = crmCustomerTempFeign.fetchEntity(entity.getCustomerSid()).getData(); + if (null != customerTemp) { + if (StringUtils.isNotBlank(customerTemp.getMobile())) { + vo.setMobile(customerTemp.getMobile()); + } + } + List trailers = baseTrailerFeign.getByVehSid(entity.getVehSid()).getData(); + if (!trailers.isEmpty()) { + StringBuffer sb = new StringBuffer(); + sb.append(entity.getVinNo()).append("/"); + for (BaseTrailer trailer : trailers) { + sb.append(trailer.getVinNo()).append("/"); + } + if (sb.length() > 0) { + sb.delete(sb.length() - 1, sb.length()); + } + vo.setVinNo(sb.toString()); + } + List fileList = loanFileService.selectByLinkSid(sid, LoanFileEnum.MORTGAGE_NOTICES.getAttachType()); + fileList.removeAll(Collections.singleton(null)); + if (!fileList.isEmpty()) { + List files = fileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c.getFilePath()). + collect(Collectors.toList()); + List filess = new ArrayList<>(); + for (String file : files) { + LoanRelieveMortgageFile f = new LoanRelieveMortgageFile(); + f.setUrl(file); + filess.add(f); + } + vo.setNotices(filess); + } + List fileList2 = loanFileService.selectByLinkSid(sid, LoanFileEnum.MORTGAGE_POROXY.getAttachType()); + fileList2.removeAll(Collections.singleton(null)); + if (!fileList2.isEmpty()) { + List files = fileList2.stream().map(c -> fileUploadComponent.getUrlPrefix() + c.getFilePath()). + collect(Collectors.toList()); + List filess = new ArrayList<>(); + for (String file : files) { + LoanRelieveMortgageFile f = new LoanRelieveMortgageFile(); + f.setUrl(file); + filess.add(f); + } + vo.setProxy(filess); + } + List fileList3 = loanFileService.selectByLinkSid(sid, LoanFileEnum.MORTGAGE_HANDOVER_INFO.getAttachType()); + fileList3.removeAll(Collections.singleton(null)); + if (!fileList3.isEmpty()) { + List files = fileList3.stream().map(c -> fileUploadComponent.getUrlPrefix() + c.getFilePath()). + collect(Collectors.toList()); + List filess = new ArrayList<>(); + for (String file : files) { + LoanRelieveMortgageFile f = new LoanRelieveMortgageFile(); + f.setUrl(file); + filess.add(f); + } + vo.setHandoverFiles(filess); + } + } + return rb.success().setData(vo); + } + + @Transactional(rollbackFor = Exception.class) + public ResultBean mortgageTransfer(LoanRelieveMortgageTransferDto dto) { + ResultBean rb = ResultBean.fireFail(); + String sid = dto.getSid(); + LoanRelieveMortgage entity = fetchBySid(sid); + StringBuffer sb = new StringBuffer(); + if (null != entity) { + BeanUtil.copyProperties(dto, entity, "id", "sid"); + entity.setState(0); + baseMapper.updateById(entity); + //删除附件表中关于该linkSid的文件 + loanFileService.delByLinkSidOrType(sid, LoanFileEnum.MORTGAGE_HANDOVER_INFO.getAttachType()); + List hfiless = dto.getHandoverFiles(); + if (!hfiless.isEmpty()) { + List files = new ArrayList<>(); + for (LoanRelieveMortgageFile file : hfiless) { + files.add(file.getUrl()); + } + loanFileService.saveAll(sid, files, LoanFileEnum.MORTGAGE_HANDOVER_INFO.getAttachType()); + } + } + return rb.success(); + } +} diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.xml index 928c3cb522..f8c2ace9d8 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.xml +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.xml @@ -236,7 +236,19 @@ + select * + from loan_secondary_sales_bidding + where mainSid = #{mainSid} + order by price desc + limit 1 + + + + + + \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesbidding/LoanSecondarySalesBiddingRest.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesbidding/LoanSecondarySalesBiddingRest.java new file mode 100644 index 0000000000..ebe92b8462 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesbidding/LoanSecondarySalesBiddingRest.java @@ -0,0 +1,41 @@ +package com.yxt.anrui.riskcenter.biz.loansecondarysalesbidding; + +import com.yxt.anrui.riskcenter.api.loansecondarysalesbidding.BiddingVo; +import com.yxt.anrui.riskcenter.api.loansecondarysalesbidding.LoanSecondarySalesBiddingDto; +import com.yxt.anrui.riskcenter.api.loansecondarysalesbidding.LoanSecondarySalesBiddingFeign; +import com.yxt.common.core.result.ResultBean; +import io.swagger.annotations.Api; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/2/2 + **/ +@RestController +@RequestMapping("v1/LoanSecondarySalesBidding") +@Api(tags = "二次销售公示竞价") +public class LoanSecondarySalesBiddingRest implements LoanSecondarySalesBiddingFeign { + + @Autowired + private LoanSecondarySalesBiddingService loanSecondarySalesBiddingService; + + @Override + public ResultBean save(LoanSecondarySalesBiddingDto dto) { + return loanSecondarySalesBiddingService.saveBidding(dto); + } + + @Override + public ResultBean> getList(String sid) { + return loanSecondarySalesBiddingService.getList(sid); + } + + @Override + public ResultBean getPrice(String sid) { + return loanSecondarySalesBiddingService.getPrice(sid); + } +} diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesbidding/LoanSecondarySalesBiddingService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesbidding/LoanSecondarySalesBiddingService.java new file mode 100644 index 0000000000..b096cdfdf7 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesbidding/LoanSecondarySalesBiddingService.java @@ -0,0 +1,84 @@ +package com.yxt.anrui.riskcenter.biz.loansecondarysalesbidding; + +import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; +import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; +import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; +import com.yxt.anrui.portal.api.sysuser.SysUserFeign; +import com.yxt.anrui.portal.api.sysuser.SysUserVo; +import com.yxt.anrui.riskcenter.api.loansecondarysalesbidding.BiddingVo; +import com.yxt.anrui.riskcenter.api.loansecondarysalesbidding.LoanSecondarySalesBidding; +import com.yxt.anrui.riskcenter.api.loansecondarysalesbidding.LoanSecondarySalesBiddingDto; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.result.ResultBean; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.util.Collections; +import java.util.List; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/2/2 + **/ +@Service +public class LoanSecondarySalesBiddingService extends MybatisBaseService { + + @Autowired + private SysStaffOrgFeign sysStaffOrgFeign; + @Autowired + private SysOrganizationFeign sysOrganizationFeign; + @Autowired + private SysUserFeign sysUserFeign; + + public ResultBean saveBidding(LoanSecondarySalesBiddingDto dto) { + ResultBean rb = ResultBean.fireFail(); + LoanSecondarySalesBidding loanSecondarySalesBidding = new LoanSecondarySalesBidding(); + loanSecondarySalesBidding.setCreateBySid(dto.getMainSid()); + loanSecondarySalesBidding.setMainSid(dto.getMainSid()); + loanSecondarySalesBidding.setOrgSidPath(dto.getOrgPath()); + String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgPath()).getData(); + if ("0".equals(useOrgSid)) { + return rb.setMsg("您所在机构没有分公司,不允许竞价"); + } + loanSecondarySalesBidding.setUseOrgSid(useOrgSid); + //创建组织使用组织 + ResultBean organizationResultBean = sysOrganizationFeign.fetchBySid(useOrgSid); + if (organizationResultBean.getData() != null) { + loanSecondarySalesBidding.setUseOrgName(organizationResultBean.getData().getName()); + } + //根据用户sid查询人员姓名 + ResultBean userVoResultBean = sysUserFeign.fetchBySid(dto.getUserSid()); + if (!userVoResultBean.getSuccess()) { + return rb.setMsg(userVoResultBean.getMsg()); + } + loanSecondarySalesBidding.setCreateByName(userVoResultBean.getData().getName()); + //查询最高竞价 + LoanSecondarySalesBidding loanSecondarySalesBidding1 = baseMapper.selectByMainSid(dto.getMainSid()); + if (StringUtils.isNotBlank(dto.getPrice())) { + if ((new BigDecimal(dto.getPrice()).subtract(loanSecondarySalesBidding1.getPrice()).compareTo(new BigDecimal("1000"))) < 0) { + return rb.setMsg("确认失败,每次竞价幅度需不低于1000元"); + } + loanSecondarySalesBidding.setPrice(new BigDecimal(dto.getPrice())); + } else { + return rb.setMsg("请输入您的报价"); + } + baseMapper.insert(loanSecondarySalesBidding); + return rb.success(); + } + + public ResultBean> getList(String sid) { + ResultBean> rb = ResultBean.fireFail(); + List list = baseMapper.getList(sid); + list.removeAll(Collections.singleton(null)); + return rb.success().setData(list); + } + + public ResultBean getPrice(String sid) { + ResultBean rb = ResultBean.fireFail(); + String price = baseMapper.getPrice(sid); + return rb.success().setData(price); + } +} diff --git a/doc/databases/portal_tables.sql b/doc/databases/portal_tables.sql index 8a7e78049c..73c3db87c5 100644 --- a/doc/databases/portal_tables.sql +++ b/doc/databases/portal_tables.sql @@ -841,9 +841,44 @@ CREATE TABLE `sys_notice` `topping` varchar(500) DEFAULT NULL COMMENT '是否置顶', `content` text DEFAULT NULL COMMENT '内容', `files` text DEFAULT NULL COMMENT '附件', + `pcUrl` text DEFAULT NULL COMMENT 'PC地址', + `appUrl` text DEFAULT NULL COMMENT 'app地址', + `createType` varchar(200) DEFAULT NULL COMMENT '生成类型:0添加,1自动', + `moduleAction` varchar(500) DEFAULT NULL COMMENT '移动端页面地址', + `app_type` varchar(500) DEFAULT NULL COMMENT '0.内置Activity 1.内置WebView 2.RePlugin插件', + `args_json` varchar(500) DEFAULT NULL COMMENT '参数', + `moduleSid` varchar(500) DEFAULT NULL COMMENT '插件sid', PRIMARY KEY (`id`), KEY `id` (`id`) ) ENGINE = InnoDB AUTO_INCREMENT = 18 DEFAULT CHARSET = utf8 COMMENT ='通知公告'; + +DROP TABLE IF EXISTS `sys_appendix`; +CREATE TABLE `sys_appendix` +( + `id` int(11) NOT NULL AUTO_INCREMENT, + `sid` varchar(64) NOT NULL COMMENT 'sid', + `lockVersion` int(11) NOT NULL DEFAULT '0' COMMENT '记录版本,锁', + `createTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间', + `modifyTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '记录最后修改时间', + `isEnable` int(11) NOT NULL DEFAULT '1' COMMENT '记录是否可用,1:可用,0:不可用', + `state` int(11) DEFAULT '1' COMMENT '状态', + `isDelete` int(11) DEFAULT NULL COMMENT '记录是否被删除,0:未删除,1:已经删除', + `remarks` varchar(255) DEFAULT NULL COMMENT '备注信息', + `createBySid` varchar(64) DEFAULT NULL COMMENT '创建者', + `updateBySid` varchar(64) DEFAULT NULL COMMENT '更新者', + `fileName` text DEFAULT NULL COMMENT '文件名', + `fileType` varchar(500) DEFAULT NULL COMMENT '文件类型', + `name` varchar(500) DEFAULT NULL COMMENT '上传人姓名', + `linkSid` varchar(500) DEFAULT NULL COMMENT '关联业务对象sid', + `attachType` varchar(500) DEFAULT NULL COMMENT '附件类型', + `fileSize` varchar(200) DEFAULT NULL COMMENT '文件大小', + `filePath` text DEFAULT NULL COMMENT '文件的相对路径', + PRIMARY KEY (`id`), + KEY `id` (`id`) +) ENGINE = InnoDB + AUTO_INCREMENT = 18 + DEFAULT CHARSET = utf8 COMMENT ='附件表'; + diff --git a/doc/databases/risk_center.sql b/doc/databases/risk_center.sql index a5407bef1b..fa772d77a0 100644 --- a/doc/databases/risk_center.sql +++ b/doc/databases/risk_center.sql @@ -1698,6 +1698,33 @@ CREATE TABLE `loan_secondary_sales_customer` +DROP TABLE IF EXISTS `loan_secondary_sales_bidding`; +CREATE TABLE `loan_secondary_sales_bidding` +( + `id` int(32) NOT NULL AUTO_INCREMENT COMMENT 'id', + `sid` varchar(64) NOT NULL COMMENT 'sid', + `lockVersion` int(32) DEFAULT '0' COMMENT '版本锁', + `createTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `modifyTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', + `isEnable` int(32) DEFAULT '1' COMMENT '是否可用:1可用,0不可用', + `state` int(32) DEFAULT '1' COMMENT '状态', + `isDelete` int(32) DEFAULT '0' COMMENT '是否删除:0未删除,1已删除', + `remarks` varchar(255) DEFAULT NULL COMMENT '备注', + `createBySid` varchar(64) DEFAULT NULL COMMENT '创建人sid', + `updateBySid` varchar(64) DEFAULT NULL COMMENT '修改人sid', + `createByName` varchar(64) DEFAULT NULL COMMENT '报价人', + `mainSid` varchar(64) DEFAULT NULL COMMENT '主表sid', + `price` decimal(10, 2) DEFAULT NULL COMMENT '报价', + `useOrgName` varchar(500) DEFAULT NULL COMMENT '分公司', + `useOrgSid` varchar(64) DEFAULT NULL COMMENT '分公司sid', + `orgSidPath` text DEFAULT NULL COMMENT '机构sid全路径', + PRIMARY KEY (`id`), + KEY `id` (`id`) +) ENGINE = INNODB + DEFAULT CHARSET = utf8 COMMENT ='二次销售公示竞价'; + + +