提交 0debfe1b authored 作者: hzh's avatar hzh

订单详情接口增加数据

上级 f1a73d1f
......@@ -63,6 +63,6 @@ public class InsureController extends BaseController {
@GetMapping("/{id}")
public R<InsureVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(insureService.queryById(id));
return R.ok(insureService.getDetail(id));
}
}
......@@ -8,6 +8,7 @@ import org.dromara.mall.domain.weishi.InsureUnit;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
/**
......@@ -69,5 +70,14 @@ public class InsureUnitVo implements Serializable {
*/
private String status;
/**
* 被保人列表
*/
private List<InsureInsuredsVo> insuredsList;
/**
* 投保人信息
*/
private InsurePolicyHolderVo policyHolder;
}
......@@ -9,6 +9,7 @@ import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
......@@ -177,5 +178,8 @@ public class InsureVo implements Serializable {
*/
private String planName;
/**
* 投保单元集合
*/
private List<InsureUnitVo> unitList;
}
......@@ -55,4 +55,12 @@ public interface IInsureService extends IBaseService<InsureVo, InsureBo, Insure>
* 更新订单状态
*/
void updateOrderStatus(Integer orderId);
/**
* 订单详情
*
* @param id id
* @return 数据
*/
InsureVo getDetail(Long id);
}
......@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.utils.StreamUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
......@@ -18,6 +19,9 @@ import org.dromara.common.weishi.model.req.ApplyRequest;
import org.dromara.common.weishi.model.res.*;
import org.dromara.common.weishi.service.WeishiService;
import org.dromara.mall.controller.weishi.admin.bo.InsureBo;
import org.dromara.mall.controller.weishi.admin.vo.InsureInsuredsVo;
import org.dromara.mall.controller.weishi.admin.vo.InsurePolicyHolderVo;
import org.dromara.mall.controller.weishi.admin.vo.InsureUnitVo;
import org.dromara.mall.controller.weishi.admin.vo.InsureVo;
import org.dromara.mall.domain.weishi.*;
import org.dromara.mall.mapper.weishi.*;
......@@ -230,4 +234,22 @@ public class InsureServiceImpl extends AbstractBaseService<InsureVo, InsureBo, I
});
}
}
@Override
public InsureVo getDetail(Long id) {
InsureVo insure = baseMapper.selectVoById(id);
if (Objects.isNull(insure)) {
throw new ServiceException("保单不存在");
}
List<InsureUnitVo> unitList = unitMapper.selectVoList(new LambdaQueryWrapper<InsureUnit>().eq(InsureUnit::getOrderNum, insure.getOrderNum()));
List<InsurePolicyHolderVo> phList = policyHolderMapper.selectVoList(new LambdaQueryWrapper<InsurePolicyHolder>().eq(InsurePolicyHolder::getOrderNum, insure.getOrderNum()));
List<InsureInsuredsVo> iiList = insuredsMapper.selectVoList(new LambdaQueryWrapper<InsureInsureds>().eq(InsureInsureds::getOrderNum, insure.getOrderNum()));
//设置数据
unitList.forEach(unit -> {
unit.setPolicyHolder(StreamUtils.findFirst(phList, ph -> StringUtils.equals(ph.getPolicyNum(), unit.getPolicyNum())));
unit.setInsuredsList(StreamUtils.filter(iiList, ii -> StringUtils.equals(ii.getPolicyNum(), unit.getPolicyNum())));
});
insure.setUnitList(unitList);
return insure;
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论