package com.tanpu.community.controller; import com.tanpu.common.api.CommonResp; import com.tanpu.common.auth.AuthLogin; import com.tanpu.common.auth.UserHolder; import com.tanpu.community.api.beans.qo.FollowQo; import com.tanpu.community.api.beans.qo.ThemeQo; import com.tanpu.community.api.beans.req.homepage.FollowRelReq; import com.tanpu.community.api.beans.req.homepage.QueryFollowReq; import com.tanpu.community.api.beans.req.homepage.QueryRecordThemeReq; import com.tanpu.community.api.beans.req.page.Page; import com.tanpu.community.api.beans.req.page.Pageable; import com.tanpu.community.api.beans.resp.Customer; import com.tanpu.community.api.beans.vo.feign.fatools.UserInfoNewChief; import com.tanpu.community.api.beans.vo.feign.fatools.UserInfoResp; import com.tanpu.community.manager.HomePageManager; import com.tanpu.community.manager.ThemeManager; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.List; @RestController @Slf4j @RequestMapping(value = "/api/homepage") public class HomePageController { @Autowired private HomePageManager homePageManager; @Autowired private ThemeManager themeManager; @Resource private UserHolder userHolder; // 用户信息查询 (供圈子服务调用) @ApiOperation(value = "个人中心 查询") @GetMapping(value = "/queryUserInfoNew") @AuthLogin public CommonResp<UserInfoResp> queryUsersListNew(@RequestParam(value = "userId", required = false) String userId) { String userIdMyself = userHolder.getUserId(); return CommonResp.success(homePageManager.queryUsersInfo(userIdMyself, userId)); } // 理财师客户列表查询 (供圈子服务调用) @ApiOperation(value = "个人中心 理财师客户列表查询") @GetMapping(value = "/queryUserCustomerList") @AuthLogin public CommonResp<List<Customer>> queryUserCustomerList() { String userId = userHolder.getUserId(); return CommonResp.success(homePageManager.queryUserCustomerList(userId)); } @ApiOperation(value = "探普 首席投顾列表查询") @GetMapping(value = "/queryChiefFinancialAdviserList") public CommonResp<Page<UserInfoNewChief>> queryChiefFinancialAdviserList(@ApiParam(value = "分页对象", required = true) Pageable page) { return CommonResp.success(homePageManager.queryChiefFinancialAdviserList(page)); } @PostMapping(value = "/followList") @ApiOperation("查询关注/粉丝列表") @ResponseBody @AuthLogin public CommonResp<Page<FollowQo>> queryFollowList(@RequestBody QueryFollowReq req) { String userId = userHolder.getUserId(); return CommonResp.success(homePageManager.queryFollow(req, userId)); } @PostMapping(value = "/addIdol") @ApiOperation("关注/取消关注他人") @ResponseBody @AuthLogin public CommonResp addIdol(@RequestBody FollowRelReq req) { String userId = userHolder.getUserId(); homePageManager.addFollowRel(req, userId); return CommonResp.success(); } @PostMapping(value = "/themeList") @ApiOperation("用户的帖子列表") @ResponseBody @AuthLogin public CommonResp<List<ThemeQo>> likeList(@Validated @RequestBody QueryRecordThemeReq req) { String userId = userHolder.getUserId(); return CommonResp.success(themeManager.queryThemesByUser(req, userId)); } }