123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- package com.idiot.operationbackend.controller;
- import com.idiot.operationbackend.entity.Account;
- import com.idiot.operationbackend.entity.AuthUser;
- import com.idiot.operationbackend.handler.SyncUserTask;
- import com.idiot.operationbackend.service.facade.AccountService;
- import com.idiot.operationbackend.service.facade.AuthUserService;
- import com.idiot.operationbackend.service.facade.WeChatService;
- import com.idiot.operationbackend.support.JsonResult;
- import com.idiot.operationbackend.util.JwtTokenUtil;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.http.ResponseEntity;
- import org.springframework.util.CollectionUtils;
- import org.springframework.web.bind.annotation.*;
- import java.util.List;
- import java.util.stream.Collectors;
- /**
- * @author wang xiao
- * @date Created in 19:50 2020/9/10
- */
- @RestController
- @RequestMapping("/account")
- @Api(value = "AccountController", tags ="公众号")
- public class AccountController {
- private final Logger logger = LoggerFactory.getLogger(AccountController.class);
- @Autowired
- private AccountService accountService;
- @Autowired
- private AuthUserService userService;
- @GetMapping
- @ApiOperation(value = "查询公众号列表")
- public ResponseEntity<JsonResult<List<Account>>> list (@RequestHeader String token) {
- String userId = JwtTokenUtil.getUserId(token);
- logger.info("用户:{}查询公众号列表",userId);
- List<Account> accounts = accountService.queryAccountByUserId(userId);;
- List<AuthUser> authUsers = userService.querySubAuthUser(userId);
- /**
- * fixme 暂定权限是 用户能够查询所属子账号下所有公众号,即无权限
- */
- if (! CollectionUtils.isEmpty(authUsers)) {
- List<String> userIds = authUsers.stream().map(AuthUser::getId).collect(Collectors.toList());
- List<Account> subAccounts = accountService.queryAccountBuSubUserIds(userIds);
- accounts.addAll(subAccounts);
- }
- return ResponseEntity.ok(JsonResult.success(accounts));
- }
- @GetMapping("/{id}")
- @ApiOperation(value = "根据id查询微信公众号")
- public ResponseEntity<JsonResult<Account>> getAccount (@RequestHeader String token,
- @PathVariable String id) {
- String userId = JwtTokenUtil.getUserId(token);
- logger.info("用户:{}查询公众号:{}",userId,id);
- Account account = accountService.getById(id);
- return ResponseEntity.ok(JsonResult.success(account));
- }
- }
|