借款详情展示借款信息与借款人信息
AdminBorrowInfoController
@ApiOperation("获取借款信息")
@GetMapping("/show/{id}")
public R show(
@ApiParam(value = "借款id", required = true)
@PathVariable Long id) {
Map<String, Object> borrowInfoDetail = borrowInfoService.getBorrowInfoDetail(id);
return R.ok().data("borrowInfoDetail", borrowInfoDetail);
}
接口:BorrowInfoService
Map<String, Object> getBorrowInfoDetail(Long id);
实现:BorrowInfoServiceImpl
@Resource
private BorrowerMapper borrowerMapper;
@Resource
private BorrowerService borrowerService;
@Override
public Map<String, Object> getBorrowInfoDetail(Long id) {
//查询借款对象
BorrowInfo borrowInfo = baseMapper.selectById(id);
//组装数据
String returnMethod = dictService.getNameByParentDictCodeAndValue("returnMethod", borrowInfo.getReturnMethod());
String moneyUse = dictService.getNameByParentDictCodeAndValue("moneyUse", borrowInfo.getMoneyUse());
String status = BorrowInfoStatusEnum.getMsgByStatus(borrowInfo.getStatus());
borrowInfo.getParam().put("returnMethod", returnMethod);
borrowInfo.getParam().put("moneyUse", moneyUse);
borrowInfo.getParam().put("status", status);
//根据user_id获取借款人对象
QueryWrapper<Borrower> borrowerQueryWrapper = new QueryWrapper<Borrower>();
borrowerQueryWrapper.eq("user_id", borrowInfo.getUserId());
Borrower borrower = borrowerMapper.selectOne(borrowerQueryWrapper);
//组装借款人对象
BorrowerDetailVO borrowerDetailVO = borrowerService.getBorrowerDetailVOById(borrower.getId());
//组装数据
Map<String, Object> result = new HashMap<>();
result.put("borrowInfo", borrowInfo);
result.put("borrower", borrowerDetailVO);
return result;
}
src/api/core/borrow-info.js
show(id) {
return request({
url: `/admin/core/borrowInfo/show/${id}`,
method: 'get'
})
}
src/styles/show.css
src/views/core/borrow-info/detail.vue
<script>
import borrowInfoApi from '@/api/core/borrow-info'
import '@/styles/show.css'
export default {
data() {
return {
borrowInfoDetail: {
borrowInfo: {
param: {}
},
borrower: {}
}
}
},
created() {
if (this.$route.params.id) {
this.fetchDataById()
}
},
methods: {
fetchDataById() {
borrowInfoApi.show(this.$route.params.id).then(response => {
this.borrowInfoDetail = response.data.borrowInfoDetail
})
},
back() {
this.$router.push({ path: '/core/borrower/info-list' })
}
}
}
</script>