Commit c8f8b356 authored by yanghao's avatar yanghao

task: #952 3.客户列表,新增一列【最新报价单】,显示当前客户关联的最晚创建时间的报价单,可穿越到报价单详情

parent 52315b1a
...@@ -242,4 +242,13 @@ public class CustomerRespVO extends CustomerBaseVO { ...@@ -242,4 +242,13 @@ public class CustomerRespVO extends CustomerBaseVO {
@ApiModelProperty("最新跟进记录信息") @ApiModelProperty("最新跟进记录信息")
@TableField(exist = false) @TableField(exist = false)
private CustomerFollowupBackVO followupBackVO; private CustomerFollowupBackVO followupBackVO;
//offerNumber
@ApiModelProperty(value = "报价单编号")
private String offerNumber;
// offerId
@ApiModelProperty(value = "报价单ID")
private Long offerId;
} }
...@@ -73,7 +73,8 @@ Content-Type: application/json ...@@ -73,7 +73,8 @@ Content-Type: application/json
### page ### page
GET {{baseUrl}}/ecw/customer/page?pageNo=1&pageSize=10&customerService[0]=1144&customerService[1]=2659&beginEnterOpenSeaTime=2024-10-02%2000%3A00%3A00&endEnterOpenSeaTime=2024-10-05%2000%3A00%3A00 #GET {{baseUrl}}/ecw/customer/page?pageNo=1&pageSize=10&customerService[0]=1144&customerService[1]=2659&beginEnterOpenSeaTime=2024-10-02%2000%3A00%3A00&endEnterOpenSeaTime=2024-10-05%2000%3A00%3A00
GET {{baseUrl}}/ecw/customer/page?pageNo=1&pageSize=10&number=Z8654
Authorization: Bearer {{token}} Authorization: Bearer {{token}}
tenant-id: {{adminTenentId}} tenant-id: {{adminTenentId}}
......
...@@ -2,7 +2,6 @@ package cn.iocoder.yudao.module.customer.controller.admin.customer; ...@@ -2,7 +2,6 @@ package cn.iocoder.yudao.module.customer.controller.admin.customer;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.iocoder.boot.module.order.api.OrderApi;
import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil; import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil;
import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.PageResult;
...@@ -14,7 +13,6 @@ import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; ...@@ -14,7 +13,6 @@ import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.vo.PageVO; import cn.iocoder.yudao.framework.mybatis.core.vo.PageVO;
import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
import cn.iocoder.yudao.framework.security.core.LoginUser;
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
import cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils; import cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils;
import cn.iocoder.yudao.module.customer.convert.customer.CustomerConvert; import cn.iocoder.yudao.module.customer.convert.customer.CustomerConvert;
...@@ -23,8 +21,6 @@ import cn.iocoder.yudao.module.customer.convert.customerContacts.CustomerContact ...@@ -23,8 +21,6 @@ import cn.iocoder.yudao.module.customer.convert.customerContacts.CustomerContact
import cn.iocoder.yudao.module.customer.convert.customerFollowup.CustomerFollowupConvert; import cn.iocoder.yudao.module.customer.convert.customerFollowup.CustomerFollowupConvert;
import cn.iocoder.yudao.module.customer.dal.dataobject.customer.CustomerDO; import cn.iocoder.yudao.module.customer.dal.dataobject.customer.CustomerDO;
import cn.iocoder.yudao.module.customer.dal.dataobject.customer.commission.CustomerCommissionDO; import cn.iocoder.yudao.module.customer.dal.dataobject.customer.commission.CustomerCommissionDO;
import cn.iocoder.yudao.module.customer.dal.dataobject.customer.complaint.CustomerComplaintDO;
import cn.iocoder.yudao.module.customer.dal.dataobject.customer.follow.CustomerFollowDO;
import cn.iocoder.yudao.module.customer.dal.dataobject.customerBank.CustomerBankDO; import cn.iocoder.yudao.module.customer.dal.dataobject.customerBank.CustomerBankDO;
import cn.iocoder.yudao.module.customer.dal.dataobject.customerContacts.CustomerContactsDO; import cn.iocoder.yudao.module.customer.dal.dataobject.customerContacts.CustomerContactsDO;
import cn.iocoder.yudao.module.customer.dal.dataobject.customerFollowup.CustomerFollowupDO; import cn.iocoder.yudao.module.customer.dal.dataobject.customerFollowup.CustomerFollowupDO;
...@@ -35,15 +31,9 @@ import cn.iocoder.yudao.module.customer.dto.CustomerHandoverApprovalInfoDto; ...@@ -35,15 +31,9 @@ import cn.iocoder.yudao.module.customer.dto.CustomerHandoverApprovalInfoDto;
import cn.iocoder.yudao.module.customer.dto.CustomerPageReqDTO; import cn.iocoder.yudao.module.customer.dto.CustomerPageReqDTO;
import cn.iocoder.yudao.module.customer.service.customer.CustomerService; import cn.iocoder.yudao.module.customer.service.customer.CustomerService;
import cn.iocoder.yudao.module.customer.service.customer.commission.CustomerCommissionService; import cn.iocoder.yudao.module.customer.service.customer.commission.CustomerCommissionService;
import cn.iocoder.yudao.module.customer.service.customer.complaint.CustomerComplaintService;
import cn.iocoder.yudao.module.customer.service.customer.complaint.follow.CustomerFollowService;
import cn.iocoder.yudao.module.customer.service.customerBank.CustomerBankService; import cn.iocoder.yudao.module.customer.service.customerBank.CustomerBankService;
import cn.iocoder.yudao.module.customer.service.customerContacts.CustomerContactsService; import cn.iocoder.yudao.module.customer.service.customerContacts.CustomerContactsService;
import cn.iocoder.yudao.module.customer.service.customerCredit.CustomerCreditService;
import cn.iocoder.yudao.module.customer.service.customerFollowup.CustomerFollowupService; import cn.iocoder.yudao.module.customer.service.customerFollowup.CustomerFollowupService;
import cn.iocoder.yudao.module.customer.service.customerLevel.CustomerLevelService;
import cn.iocoder.yudao.module.customer.service.customerLevelLog.CustomerLevelLogServiceImpl;
import cn.iocoder.yudao.module.customer.service.customerOperateLog.CustomerOperateLogService;
import cn.iocoder.yudao.module.customer.service.customerPublicCatchLog.CustomerPublicCatchLogService; import cn.iocoder.yudao.module.customer.service.customerPublicCatchLog.CustomerPublicCatchLogService;
import cn.iocoder.yudao.module.customer.service.zhongPao.ZhongPaoService; import cn.iocoder.yudao.module.customer.service.zhongPao.ZhongPaoService;
import cn.iocoder.yudao.module.customer.vo.customer.customerContacts.CustomerContactsCreateReqVO; import cn.iocoder.yudao.module.customer.vo.customer.customerContacts.CustomerContactsCreateReqVO;
...@@ -52,7 +42,6 @@ import cn.iocoder.yudao.module.customer.vo.customer.customerContacts.CustomerCon ...@@ -52,7 +42,6 @@ import cn.iocoder.yudao.module.customer.vo.customer.customerContacts.CustomerCon
import cn.iocoder.yudao.module.customer.vo.customer.vo.*; import cn.iocoder.yudao.module.customer.vo.customer.vo.*;
import cn.iocoder.yudao.module.customer.vo.customerBank.CustomerBankBackVO; import cn.iocoder.yudao.module.customer.vo.customerBank.CustomerBankBackVO;
import cn.iocoder.yudao.module.customer.vo.customerBank.CustomerBankQueryVO; import cn.iocoder.yudao.module.customer.vo.customerBank.CustomerBankQueryVO;
import cn.iocoder.yudao.module.customer.vo.customerOperateLog.CustomerOperateLogCreateReqVO;
import cn.iocoder.yudao.module.ecw.api.paramValid.ParamValidatorApi; import cn.iocoder.yudao.module.ecw.api.paramValid.ParamValidatorApi;
import cn.iocoder.yudao.module.ecw.enums.CustomerContactsDefaultEnum; import cn.iocoder.yudao.module.ecw.enums.CustomerContactsDefaultEnum;
import cn.iocoder.yudao.module.ecw.enums.CustomerCreateFromEnum; import cn.iocoder.yudao.module.ecw.enums.CustomerCreateFromEnum;
...@@ -64,26 +53,16 @@ import cn.iocoder.yudao.module.ecw.service.internalMessage.InternalMessageServic ...@@ -64,26 +53,16 @@ import cn.iocoder.yudao.module.ecw.service.internalMessage.InternalMessageServic
import cn.iocoder.yudao.module.ecw.service.paramValid.ParamValidatorService; import cn.iocoder.yudao.module.ecw.service.paramValid.ParamValidatorService;
import cn.iocoder.yudao.module.member.api.user.MemberUserApi; import cn.iocoder.yudao.module.member.api.user.MemberUserApi;
import cn.iocoder.yudao.module.member.api.user.dto.UserRespDTO; import cn.iocoder.yudao.module.member.api.user.dto.UserRespDTO;
import cn.iocoder.yudao.module.order.dal.dataobject.targetLog.TargetLogDO;
import cn.iocoder.yudao.module.order.service.targetLog.TargetLogService;
import cn.iocoder.yudao.module.product.dal.dataobject.productbrandempower.ProductBrandEmpowerDO;
import cn.iocoder.yudao.module.product.service.productbrandempower.ProductBrandEmpowerServiceImpl;
import cn.iocoder.yudao.module.sale.dal.dataobject.offer.OfferDO; import cn.iocoder.yudao.module.sale.dal.dataobject.offer.OfferDO;
import cn.iocoder.yudao.module.sale.service.offer.OfferService; import cn.iocoder.yudao.module.sale.dal.mysql.offer.OfferMapper;
import cn.iocoder.yudao.module.system.api.file.FileMakeApi; import cn.iocoder.yudao.module.system.api.file.FileMakeApi;
import cn.iocoder.yudao.module.system.api.file.dto.FileMakeReqDTO; import cn.iocoder.yudao.module.system.api.file.dto.FileMakeReqDTO;
import cn.iocoder.yudao.module.system.api.user.AdminUserApi; import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
import cn.iocoder.yudao.module.system.enums.download.DownloadTypeEnum; import cn.iocoder.yudao.module.system.enums.download.DownloadTypeEnum;
import cn.iocoder.yudao.module.wealth.dal.dataobject.commissionPayable.CommissionPayableDO;
import cn.iocoder.yudao.module.wealth.dal.dataobject.commissionPayment.CommissionPaymentDO;
import cn.iocoder.yudao.module.wealth.dal.dataobject.receipt.ReceiptDO;
import cn.iocoder.yudao.module.wealth.service.commissionPayable.CommissionPayableService;
import cn.iocoder.yudao.module.wealth.service.commissionPayment.CommissionPaymentService;
import cn.iocoder.yudao.module.wealth.service.receipt.ReceiptServiceImpl;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
...@@ -166,7 +145,8 @@ public class CustomerController { ...@@ -166,7 +145,8 @@ public class CustomerController {
@Resource @Resource
CustomerDetailMapper customerDetailMapper; CustomerDetailMapper customerDetailMapper;
@Resource
OfferMapper offerMapper;
public CustomerController() { public CustomerController() {
...@@ -826,6 +806,14 @@ public class CustomerController { ...@@ -826,6 +806,14 @@ public class CustomerController {
if (Objects.nonNull(customerFollowupDO)) { if (Objects.nonNull(customerFollowupDO)) {
respVO.setFollowupBackVO(CustomerFollowupConvert.INSTANCE.convert(customerFollowupDO)); respVO.setFollowupBackVO(CustomerFollowupConvert.INSTANCE.convert(customerFollowupDO));
} }
// 设置报价单号和报价id
OfferDO lastOfferDO = offerMapper.selectOne(new LambdaQueryWrapper<OfferDO>().eq(OfferDO::getRelationId, respVO.getId())
.orderByDesc(OfferDO::getCreateTime).last("limit 1"));
if (lastOfferDO != null) {
respVO.setOfferId(lastOfferDO.getOfferId());
respVO.setOfferNumber(lastOfferDO.getNumber());
}
} }
} }
return success(respVOPageResult); return success(respVOPageResult);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment