diff --git a/fw-valhalla-dao/src/main/java/cn/fw/valhalla/dao/mapper/CustomerMapper.java b/fw-valhalla-dao/src/main/java/cn/fw/valhalla/dao/mapper/CustomerMapper.java index 9909118..cfe0ff2 100644 --- a/fw-valhalla-dao/src/main/java/cn/fw/valhalla/dao/mapper/CustomerMapper.java +++ b/fw-valhalla-dao/src/main/java/cn/fw/valhalla/dao/mapper/CustomerMapper.java @@ -7,7 +7,9 @@ import cn.fw.valhalla.domain.query.CustomCustomerQuery; import cn.fw.valhalla.domain.query.CustomerQueryVO; import cn.fw.valhalla.domain.query.StammkundeAnalyseQueryVO; import cn.fw.valhalla.domain.vo.customer.CustomerListVO; +import cn.fw.valhalla.sdk.param.CusCntReq; import cn.fw.valhalla.sdk.result.BasicsCustomerDTO; +import cn.fw.valhalla.sdk.result.CusCntResult; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; @@ -64,4 +66,21 @@ public interface CustomerMapper extends BaseMapper { * @return */ List queryByKeyword(@Param("keyword") String keyword, @Param("groupId") Long groupId); + + /** + * 查询门店保有客数量 + * + * @param cusCntReq 门店保有客数量 + * @return 门店保有客数据 + */ + List queryShopCusCnt(@Param("req") CusCntReq cusCntReq); + + /** + * 查询服务顾问保有客数量 + * + * @param cusCntReq 服务顾问保有客数量 + * @return 服务顾问保有客数据 + */ + List queryAdviserCusCnt(@Param("req") CusCntReq cusCntReq); + } diff --git a/fw-valhalla-dao/src/main/resources/mapper/CustomerMapper.xml b/fw-valhalla-dao/src/main/resources/mapper/CustomerMapper.xml index 443cc05..c420acc 100644 --- a/fw-valhalla-dao/src/main/resources/mapper/CustomerMapper.xml +++ b/fw-valhalla-dao/src/main/resources/mapper/CustomerMapper.xml @@ -355,4 +355,34 @@ ) and t1.group_id = #{groupId} + + + + diff --git a/fw-valhalla-sdk/src/main/java/cn/fw/valhalla/sdk/api/CustomerApiService.java b/fw-valhalla-sdk/src/main/java/cn/fw/valhalla/sdk/api/CustomerApiService.java index ffeb0fc..f0cdc3e 100644 --- a/fw-valhalla-sdk/src/main/java/cn/fw/valhalla/sdk/api/CustomerApiService.java +++ b/fw-valhalla-sdk/src/main/java/cn/fw/valhalla/sdk/api/CustomerApiService.java @@ -243,5 +243,16 @@ public interface CustomerApiService { @GetMapping("/query/vehicle/by/vin") Message queryVehicle(@RequestParam("vin") String vin); + /** + * 查询保有客数量 + * + * @param req 查询参数 + * @return 保有客数量 + */ + @PostMapping("/query/cus/cnt") + Message> queryCusCnt(@RequestBody CusCntReq req); + + + } diff --git a/fw-valhalla-sdk/src/main/java/cn/fw/valhalla/sdk/param/CusCntReq.java b/fw-valhalla-sdk/src/main/java/cn/fw/valhalla/sdk/param/CusCntReq.java new file mode 100644 index 0000000..ede6609 --- /dev/null +++ b/fw-valhalla-sdk/src/main/java/cn/fw/valhalla/sdk/param/CusCntReq.java @@ -0,0 +1,26 @@ +package cn.fw.valhalla.sdk.param; + +import lombok.Data; + +import javax.validation.constraints.NotNull; + +import java.util.List; + +/** + * 查询保有客数量 + * + * @author xiatian + */ +@Data +public class CusCntReq { + + /** + * 门店id集合 + */ + private List shopIds; + + /** + * 顾问id集合 + */ + private List adviserIds; +} diff --git a/fw-valhalla-sdk/src/main/java/cn/fw/valhalla/sdk/result/CusCntResult.java b/fw-valhalla-sdk/src/main/java/cn/fw/valhalla/sdk/result/CusCntResult.java new file mode 100644 index 0000000..5d68592 --- /dev/null +++ b/fw-valhalla-sdk/src/main/java/cn/fw/valhalla/sdk/result/CusCntResult.java @@ -0,0 +1,19 @@ +package cn.fw.valhalla.sdk.result; + +import lombok.Data; + +/** + * @author xiatian + * @date 2023-05-12 + */ +@Data +public class CusCntResult { + /** + * 门店id或人员id + */ + private Long id; + /** + * 数量 + */ + private Integer cnt; +} diff --git a/fw-valhalla-server/src/main/java/cn/fw/valhalla/controller/api/CustomerApiServiceImpl.java b/fw-valhalla-server/src/main/java/cn/fw/valhalla/controller/api/CustomerApiServiceImpl.java index b392b49..95a760a 100644 --- a/fw-valhalla-server/src/main/java/cn/fw/valhalla/controller/api/CustomerApiServiceImpl.java +++ b/fw-valhalla-server/src/main/java/cn/fw/valhalla/controller/api/CustomerApiServiceImpl.java @@ -19,9 +19,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; -import java.util.ArrayList; -import java.util.List; -import java.util.Objects; + +import java.util.*; import static cn.fw.common.businessvalidator.Validator.BV; import static cn.fw.common.web.util.ResultBuilder.success; @@ -277,4 +276,11 @@ public class CustomerApiServiceImpl implements CustomerApiService { public Message queryVehicle(@RequestParam("vin") final String vin) { return success(customerBiz.queryVehicleByVin(vin)); } + + @Override + @PostMapping("/query/cus/cnt") + @ControllerMethod("查询保有客户数量") + public Message> queryCusCnt(@RequestBody final CusCntReq req) { + return success(customerBiz.queryCusCnt(req)); + } } diff --git a/fw-valhalla-service/src/main/java/cn/fw/valhalla/service/bus/cust/CustomerBizService.java b/fw-valhalla-service/src/main/java/cn/fw/valhalla/service/bus/cust/CustomerBizService.java index 84ad339..1437ffd 100644 --- a/fw-valhalla-service/src/main/java/cn/fw/valhalla/service/bus/cust/CustomerBizService.java +++ b/fw-valhalla-service/src/main/java/cn/fw/valhalla/service/bus/cust/CustomerBizService.java @@ -35,13 +35,8 @@ import cn.fw.valhalla.rpc.oop.OopService; import cn.fw.valhalla.rpc.oop.dto.ShopDTO; import cn.fw.valhalla.rpc.oop.dto.SpecDTO; import cn.fw.valhalla.sdk.enums.CusTypeEnum; -import cn.fw.valhalla.sdk.param.ChangeSpecCodeReq; -import cn.fw.valhalla.sdk.param.CustomerParams; -import cn.fw.valhalla.sdk.param.CustomerQueryReq; -import cn.fw.valhalla.sdk.result.BasicsCustomerDTO; -import cn.fw.valhalla.sdk.result.CustomerInfoDto; -import cn.fw.valhalla.sdk.result.MemberVehicleDTO; -import cn.fw.valhalla.sdk.result.ReceptionResultDto; +import cn.fw.valhalla.sdk.param.*; +import cn.fw.valhalla.sdk.result.*; import cn.fw.valhalla.service.bus.StammkundeBizService; import cn.fw.valhalla.service.bus.setting.SettingBizService; import cn.fw.valhalla.service.data.*; @@ -1119,6 +1114,11 @@ public class CustomerBizService extends AbstractCustomerService { return dto; } + public List queryCusCnt(CusCntReq req){ + return customerService.queryCusCnt(req); + } + + private AffiliationRecord createEntity(CustomerDetailDto customer) { AffiliationRecord record = new AffiliationRecord(); diff --git a/fw-valhalla-service/src/main/java/cn/fw/valhalla/service/data/CustomerService.java b/fw-valhalla-service/src/main/java/cn/fw/valhalla/service/data/CustomerService.java index 337c954..4fe96a5 100644 --- a/fw-valhalla-service/src/main/java/cn/fw/valhalla/service/data/CustomerService.java +++ b/fw-valhalla-service/src/main/java/cn/fw/valhalla/service/data/CustomerService.java @@ -7,7 +7,9 @@ import cn.fw.valhalla.domain.query.CustomCustomerQuery; import cn.fw.valhalla.domain.query.CustomerQueryVO; import cn.fw.valhalla.domain.query.StammkundeAnalyseQueryVO; import cn.fw.valhalla.domain.vo.customer.CustomerListVO; +import cn.fw.valhalla.sdk.param.CusCntReq; import cn.fw.valhalla.sdk.result.BasicsCustomerDTO; +import cn.fw.valhalla.sdk.result.CusCntResult; import com.baomidou.mybatisplus.extension.service.IService; import org.springframework.lang.NonNull; import org.springframework.lang.Nullable; @@ -150,4 +152,12 @@ public interface CustomerService extends IService { */ @Transactional(rollbackFor = Exception.class) void afterDistributePubClue(List vinList, Long userId, Long shopId, Long groupId); + + /** + * 查询保有客数量 + * @param req 查询参数 + * @return 保有客数量 + */ + List queryCusCnt(CusCntReq req); + } diff --git a/fw-valhalla-service/src/main/java/cn/fw/valhalla/service/data/impl/CustomerServiceImpl.java b/fw-valhalla-service/src/main/java/cn/fw/valhalla/service/data/impl/CustomerServiceImpl.java index ea813c6..a9360e3 100644 --- a/fw-valhalla-service/src/main/java/cn/fw/valhalla/service/data/impl/CustomerServiceImpl.java +++ b/fw-valhalla-service/src/main/java/cn/fw/valhalla/service/data/impl/CustomerServiceImpl.java @@ -8,7 +8,9 @@ import cn.fw.valhalla.domain.query.CustomCustomerQuery; import cn.fw.valhalla.domain.query.CustomerQueryVO; import cn.fw.valhalla.domain.query.StammkundeAnalyseQueryVO; import cn.fw.valhalla.domain.vo.customer.CustomerListVO; +import cn.fw.valhalla.sdk.param.CusCntReq; import cn.fw.valhalla.sdk.result.BasicsCustomerDTO; +import cn.fw.valhalla.sdk.result.CusCntResult; import cn.fw.valhalla.service.data.CustomerService; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -151,4 +153,12 @@ public class CustomerServiceImpl extends ServiceImpl i .isNull(Customer::getAdviserId) ); } + + @Override + public List queryCusCnt(final CusCntReq req) { + if(!CollectionUtils.isEmpty(req.getShopIds())){ + return getBaseMapper().queryShopCusCnt(req); + } + return getBaseMapper().queryAdviserCusCnt(req); + } }