package cn.fw.valhalla.controller.app; import cn.fw.common.page.AppPage; import cn.fw.common.web.annotation.ControllerMethod; import cn.fw.common.web.auth.LoginAuthBean; import cn.fw.common.web.auth.annotation.CurrentUser; import cn.fw.data.base.domain.common.Message; import cn.fw.security.auth.client.annotation.Authorization; import cn.fw.security.auth.client.annotation.IgnoreAuth; import cn.fw.security.auth.client.enums.AuthType; import cn.fw.valhalla.domain.query.*; import cn.fw.valhalla.domain.vo.pool.*; import cn.fw.valhalla.service.bus.follow.PoolBizService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import static cn.fw.common.web.util.ResultBuilder.success; /** * @author : kurisu * @className : StammkundePoolController * @description : 保有客池 * @date: 2020-11-11 17:26 */ @Slf4j @RestController @Authorization(AuthType.APP) @RequiredArgsConstructor @Validated @RequestMapping("/app/pool") public class PoolController { private final PoolBizService poolBizService; @GetMapping("/follow/own/list") @ControllerMethod("查询自己的跟进池列表") public Message> ownFollowList(@CurrentUser LoginAuthBean currentUser, final FollowPoolQueryVO queryVO) { AppPage page = poolBizService.followList(currentUser, queryVO); return success(page); } @GetMapping("/follow/list") @IgnoreAuth @ControllerMethod("查询跟进池列表") public Message> followList(final FollowPoolQueryVO queryVO) { AppPage page = poolBizService.followList(null, queryVO); return success(page); } @GetMapping("/public/list") @IgnoreAuth @ControllerMethod("查询公共池列表") public Message> publicList(@CurrentUser LoginAuthBean currentUser, final PublicPoolQueryVO queryVO) { AppPage page = poolBizService.publicList(currentUser, queryVO); return success(page); } @GetMapping("/stammkunde/own/list") @ControllerMethod("查询自己的保有客池列表") public Message> ownStammkundeList(@CurrentUser LoginAuthBean currentUser, final StammkundePoolQueryVO queryVO) { AppPage page = poolBizService.stammkundeList(currentUser, queryVO); return success(page); } @GetMapping("/stammkunde/list") @IgnoreAuth @ControllerMethod("查询保有客池列表") public Message> stammkundeList(final StammkundePoolQueryVO queryVO) { AppPage page = poolBizService.stammkundeList(null, queryVO); return success(page); } @GetMapping("/clue/list") @IgnoreAuth @ControllerMethod("查询客户线索池列表") public Message> clueList(final CustomerCluePoolQueryVO queryVO) { AppPage page = poolBizService.clueList(queryVO); return success(page); } @GetMapping("/clue/summary") @IgnoreAuth @ControllerMethod("查询客户线索池概况") public Message clueSummary(final CustomerCluePoolQueryVO queryVO) { return success(poolBizService.summary(queryVO)); } /** * @param queryVO * @return * @description */ @GetMapping("/public/clue/own/list") @ControllerMethod("查询自己的公共客户池列表") public Message> ownPublicClueList(@CurrentUser LoginAuthBean currentUser, final PublicCluePoolQueryVO queryVO) { AppPage page = poolBizService.publicClueList(queryVO, currentUser); return success(page); } /** * @param queryVO * @return * @description */ @GetMapping("/public/clue/list") @IgnoreAuth @ControllerMethod("查询公共客户池列表") public Message> publicClueList(final PublicCluePoolQueryVO queryVO) { AppPage page = poolBizService.publicClueList(queryVO, null); return success(page); } }