|
|
@ -1,14 +1,29 @@ |
|
|
|
package com.yxt.anrui.riskcenter.biz.loanfinpolicy; |
|
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil; |
|
|
|
import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicy; |
|
|
|
import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicyDto; |
|
|
|
import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicyVo; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
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.riskcenter.api.loanfinotherPolicy.LoanFinOtherPolicy; |
|
|
|
import com.yxt.anrui.riskcenter.api.loanfinotherPolicy.LoanFinOtherPolicyDto; |
|
|
|
import com.yxt.anrui.riskcenter.api.loanfinotherPolicy.LoanFinOtherPolicyVo; |
|
|
|
import com.yxt.anrui.riskcenter.api.loanfinpolicy.*; |
|
|
|
import com.yxt.anrui.riskcenter.biz.loanfinotherPolicy.LoanFinOtherPolicyService; |
|
|
|
import com.yxt.common.base.service.MybatisBaseService; |
|
|
|
import com.yxt.common.base.utils.PagerUtil; |
|
|
|
import com.yxt.common.base.utils.StringUtils; |
|
|
|
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.stereotype.Service; |
|
|
|
|
|
|
|
import java.util.Arrays; |
|
|
|
import java.util.List; |
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
/** |
|
|
|
* @description: |
|
|
|
* @author: dimengzhe |
|
|
@ -17,30 +32,161 @@ import org.springframework.stereotype.Service; |
|
|
|
@Service |
|
|
|
public class LoanFinPolicyService extends MybatisBaseService<LoanFinPolicyMapper, LoanFinPolicy> { |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private LoanFinOtherPolicyService loanFinOtherPolicyService; |
|
|
|
@Autowired |
|
|
|
private SysStaffOrgFeign sysStaffOrgFeign; |
|
|
|
@Autowired |
|
|
|
private SysOrganizationFeign sysOrganizationFeign; |
|
|
|
|
|
|
|
public ResultBean saveOrUpdatePolicy(LoanFinPolicyDto dto) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
String sid = dto.getSid(); |
|
|
|
String orgPath = dto.getOrgPath(); |
|
|
|
String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData(); |
|
|
|
String useOrgName = ""; |
|
|
|
ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(useOrgSid); |
|
|
|
if (sysOrganizationVoResultBean.getData() != null) { |
|
|
|
useOrgName = sysOrganizationVoResultBean.getData().getName(); |
|
|
|
} |
|
|
|
if (StringUtils.isBlank(sid)) { |
|
|
|
LoanFinPolicy loanFinPolicy = new LoanFinPolicy(); |
|
|
|
BeanUtil.copyProperties(dto, loanFinPolicy, "sid"); |
|
|
|
List<UseDept> useDeptList = dto.getUseDeptList(); |
|
|
|
String deptSids = ""; |
|
|
|
String deptNames = ""; |
|
|
|
if (!useDeptList.isEmpty()) { |
|
|
|
List<String> deptSidsList = useDeptList.stream().map(v -> v.getDeptSid()).collect(Collectors.toList()); |
|
|
|
deptSids = String.join(",", deptSidsList); |
|
|
|
loanFinPolicy.setUseDeptSids(deptSids); |
|
|
|
List<String> deptNamesList = useDeptList.stream().map(v -> v.getDeptName()).collect(Collectors.toList()); |
|
|
|
deptNames = String.join(",", deptNamesList); |
|
|
|
loanFinPolicy.setUseDeptNames(deptNames); |
|
|
|
} |
|
|
|
loanFinPolicy.setUseOrgSid(useOrgSid); |
|
|
|
loanFinPolicy.setCreateOrgSid(useOrgSid); |
|
|
|
loanFinPolicy.setUseOrgName(useOrgName); |
|
|
|
loanFinPolicy.setCreateOrgName(useOrgName); |
|
|
|
baseMapper.insert(loanFinPolicy); |
|
|
|
if (dto.getIsOtherProduct() == 1) { |
|
|
|
LoanFinOtherPolicy loanFinOtherPolicy = new LoanFinOtherPolicy(); |
|
|
|
BeanUtil.copyProperties(dto, loanFinOtherPolicy, "sid"); |
|
|
|
LoanFinOtherPolicyDto loanFinOtherPolicyDto = dto.getLoanFinOtherPolicy(); |
|
|
|
BeanUtil.copyProperties(loanFinOtherPolicyDto, loanFinOtherPolicy); |
|
|
|
loanFinOtherPolicy.setMainPolicySid(loanFinPolicy.getSid()); |
|
|
|
loanFinOtherPolicy.setUseDeptSids(deptSids); |
|
|
|
loanFinOtherPolicy.setUseDeptNames(deptNames); |
|
|
|
loanFinOtherPolicy.setUseOrgSid(useOrgSid); |
|
|
|
loanFinOtherPolicy.setCreateOrgSid(useOrgSid); |
|
|
|
loanFinOtherPolicy.setUseOrgName(useOrgName); |
|
|
|
loanFinOtherPolicy.setCreateOrgName(useOrgName); |
|
|
|
loanFinOtherPolicyService.insert(loanFinOtherPolicy); |
|
|
|
} |
|
|
|
} else { |
|
|
|
LoanFinPolicy loanFinPolicy = fetchBySid(sid); |
|
|
|
if (loanFinPolicy == null) { |
|
|
|
return rb.setMsg("该金融产品政策不存在"); |
|
|
|
} |
|
|
|
BeanUtil.copyProperties(dto, loanFinPolicy, "sid"); |
|
|
|
String deptSids = ""; |
|
|
|
String deptNames = ""; |
|
|
|
List<UseDept> useDeptList = dto.getUseDeptList(); |
|
|
|
if (!useDeptList.isEmpty()) { |
|
|
|
List<String> deptSidsList = useDeptList.stream().map(v -> v.getDeptSid()).collect(Collectors.toList()); |
|
|
|
deptSids = String.join(",", deptSidsList); |
|
|
|
loanFinPolicy.setUseDeptSids(deptSids); |
|
|
|
List<String> deptNamesList = useDeptList.stream().map(v -> v.getDeptName()).collect(Collectors.toList()); |
|
|
|
deptNames = String.join(",", deptNamesList); |
|
|
|
loanFinPolicy.setUseDeptNames(deptNames); |
|
|
|
} else { |
|
|
|
loanFinPolicy.setUseDeptNames(""); |
|
|
|
loanFinPolicy.setUseDeptSids(""); |
|
|
|
} |
|
|
|
baseMapper.updateById(loanFinPolicy); |
|
|
|
if (dto.getIsOtherProduct() == 0) { |
|
|
|
loanFinOtherPolicyService.deleteyMainSid(sid); |
|
|
|
} else { |
|
|
|
LoanFinOtherPolicy loanFinOtherPolicy = loanFinOtherPolicyService.selectByMainSid(sid); |
|
|
|
if (loanFinOtherPolicy == null) { |
|
|
|
BeanUtil.copyProperties(dto, loanFinOtherPolicy, "sid"); |
|
|
|
LoanFinOtherPolicyDto loanFinOtherPolicyDto = dto.getLoanFinOtherPolicy(); |
|
|
|
BeanUtil.copyProperties(loanFinOtherPolicyDto, loanFinOtherPolicy); |
|
|
|
loanFinOtherPolicy.setUseDeptSids(deptSids); |
|
|
|
loanFinOtherPolicy.setUseDeptNames(deptNames); |
|
|
|
loanFinOtherPolicyService.updateById(loanFinOtherPolicy); |
|
|
|
} else { |
|
|
|
loanFinOtherPolicy = new LoanFinOtherPolicy(); |
|
|
|
BeanUtil.copyProperties(dto, loanFinOtherPolicy, "sid"); |
|
|
|
LoanFinOtherPolicyDto loanFinOtherPolicyDto = dto.getLoanFinOtherPolicy(); |
|
|
|
BeanUtil.copyProperties(loanFinOtherPolicyDto, loanFinOtherPolicy); |
|
|
|
loanFinOtherPolicy.setMainPolicySid(loanFinPolicy.getSid()); |
|
|
|
loanFinOtherPolicy.setUseDeptSids(deptSids); |
|
|
|
loanFinOtherPolicy.setUseDeptNames(deptNames); |
|
|
|
loanFinOtherPolicyService.insert(loanFinOtherPolicy); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
return rb.success(); |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean<LoanFinPolicyVo> details(String sid) { |
|
|
|
ResultBean<LoanFinPolicyVo> rb = ResultBean.fireFail(); |
|
|
|
LoanFinPolicyVo loanFinPolicyVo = new LoanFinPolicyVo(); |
|
|
|
LoanFinPolicy loanFinPolicy = fetchBySid(sid); |
|
|
|
if (loanFinPolicy == null) { |
|
|
|
return rb.setMsg("该金融产品政策不存在"); |
|
|
|
} |
|
|
|
BeanUtil.copyProperties(loanFinPolicy, loanFinPolicyVo); |
|
|
|
if (loanFinPolicy.getIsOtherProduct() == 1) { |
|
|
|
LoanFinOtherPolicyVo loanFinOtherPolicyVo = new LoanFinOtherPolicyVo(); |
|
|
|
LoanFinOtherPolicy loanFinOtherPolicy = loanFinOtherPolicyService.selectByMainSid(sid); |
|
|
|
if (loanFinOtherPolicy != null) { |
|
|
|
BeanUtil.copyProperties(loanFinOtherPolicy, loanFinOtherPolicyVo); |
|
|
|
loanFinPolicyVo.setLoanFinOtherPolicy(loanFinOtherPolicyVo); |
|
|
|
} |
|
|
|
} |
|
|
|
return rb.success().setData(loanFinPolicyVo); |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean deletePolicy(String[] sids) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
//ToDo:不能删除的条件并返回提示信息
|
|
|
|
|
|
|
|
//符合条件直接删除
|
|
|
|
List<String> sidList = Arrays.asList(sids); |
|
|
|
for (String sid : sidList) { |
|
|
|
loanFinOtherPolicyService.deleteyMainSid(sid); |
|
|
|
deleteBySid(sid); |
|
|
|
} |
|
|
|
return rb.success(); |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean setState(String sid, String useState) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
//ToDo:是否可以停用或开启,需补充条件
|
|
|
|
LoanFinPolicy loanFinPolicy = fetchBySid(sid); |
|
|
|
if (loanFinPolicy == null) { |
|
|
|
return rb.setMsg("该金融产品政策不存在"); |
|
|
|
} |
|
|
|
return null; |
|
|
|
loanFinPolicy.setUseSate(Integer.valueOf(useState).intValue()); |
|
|
|
baseMapper.updateById(loanFinPolicy); |
|
|
|
LoanFinOtherPolicy loanFinOtherPolicy = loanFinOtherPolicyService.selectByMainSid(sid); |
|
|
|
if (loanFinOtherPolicy != null) { |
|
|
|
loanFinOtherPolicy.setUseSate(Integer.valueOf(useState).intValue()); |
|
|
|
loanFinOtherPolicyService.updateById(loanFinOtherPolicy); |
|
|
|
} |
|
|
|
return rb.success(); |
|
|
|
} |
|
|
|
|
|
|
|
public PagerVo<LoanFinPolicyVos> pagerList(PagerQuery<LoanFinPolicyQuery> pagerQuery) { |
|
|
|
LoanFinPolicyQuery query = pagerQuery.getParams(); |
|
|
|
QueryWrapper<LoanFinPolicy> qw = new QueryWrapper<>(); |
|
|
|
if (query != null) { |
|
|
|
|
|
|
|
} |
|
|
|
IPage<LoanFinPolicy> page = PagerUtil.queryToPage(pagerQuery); |
|
|
|
IPage<LoanFinPolicyVos> pagging = baseMapper.pagerList(page, qw); |
|
|
|
PagerVo<LoanFinPolicyVos> p = PagerUtil.pageToVo(pagging, null); |
|
|
|
return p; |
|
|
|
} |
|
|
|
} |
|
|
|