WechatController.java 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. package com.xjrsoft.module.organization.controller;
  2. import cn.dev33.satoken.annotation.SaCheckPermission;
  3. import com.xjrsoft.common.annotation.XjrLog;
  4. import com.xjrsoft.common.constant.GlobalConstant;
  5. import com.xjrsoft.common.model.result.R;
  6. import com.xjrsoft.common.utils.RedisUtil;
  7. import com.xjrsoft.module.organization.dto.WeChatDepartPageDto;
  8. import com.xjrsoft.module.organization.dto.WeChatPageDto;
  9. import com.xjrsoft.module.organization.entity.Department;
  10. import com.xjrsoft.module.organization.entity.User;
  11. import com.xjrsoft.module.organization.service.IDepartmentService;
  12. import com.xjrsoft.module.organization.service.IUserService;
  13. import com.xjrsoft.module.organization.service.IWeChatService;
  14. import io.swagger.annotations.Api;
  15. import io.swagger.annotations.ApiOperation;
  16. import lombok.AllArgsConstructor;
  17. import org.springframework.web.bind.annotation.*;
  18. import java.util.List;
  19. import java.util.concurrent.CompletableFuture;
  20. @RestController
  21. @RequestMapping(value = GlobalConstant.ORGANIZATION_MODULE_PREFIX + "/wechat")
  22. @Api(value = GlobalConstant.ORGANIZATION_MODULE_PREFIX + "/wechat", tags = "微信")
  23. @AllArgsConstructor
  24. public class WechatController {
  25. private final IWeChatService WeChatService;
  26. private final IUserService userService;
  27. private final IDepartmentService departmentService;
  28. private final RedisUtil redisUtil;
  29. @PutMapping("/sync-user")
  30. @ApiOperation(value = "微信信息更新")
  31. @SaCheckPermission("wechat:syncuser")
  32. @XjrLog(value = "微信信息更新")
  33. public R updateInfo() {
  34. WeChatService.updateInfo();
  35. CompletableFuture.runAsync(() -> {
  36. List<Department> depList = departmentService.list();
  37. redisUtil.set(GlobalConstant.DEP_CACHE_KEY, depList);
  38. List<User> userList = userService.list();
  39. redisUtil.set(GlobalConstant.USER_CACHE_KEY, userList);
  40. });
  41. return R.ok();
  42. }
  43. @GetMapping(value = "/page")
  44. @ApiOperation(value = "获取员工分页信息")
  45. @SaCheckPermission("wechat:page")
  46. @XjrLog(value = "获取员工分页信息")
  47. public R page(WeChatPageDto dto) {
  48. return R.ok(userService.getPage(dto));
  49. }
  50. @GetMapping(value = "/departpage")
  51. @ApiOperation(value = "获取部门分页信息")
  52. @SaCheckPermission("wechat:departpage")
  53. @XjrLog(value = "获取部门分页信息")
  54. public R page(WeChatDepartPageDto dto) {
  55. return R.ok(departmentService.Ipage(dto));
  56. }
  57. @GetMapping(value = "/js-config")
  58. @ApiOperation(value = "前端jssdk页面配置需要用到的配置参数")
  59. @SaCheckPermission("wechat:jsconfig")
  60. @XjrLog(value = "前端jssdk页面配置需要用到的配置参数")
  61. public R getWeixinJs(@RequestParam(value = "url", required = true) String url) throws Exception {
  62. return R.ok(WeChatService.getJsConfig(url));
  63. }
  64. }