WechatController.java 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. package com.xjrsoft.module.organization.controller;
  2. import cn.hutool.core.lang.Snowflake;
  3. import cn.hutool.core.lang.generator.SnowflakeGenerator;
  4. import cn.hutool.core.util.StrUtil;
  5. import com.alibaba.fastjson.JSONObject;
  6. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  7. import com.baomidou.mybatisplus.core.metadata.IPage;
  8. import com.xjrsoft.common.constant.GlobalConstant;
  9. import com.xjrsoft.common.model.result.R;
  10. import com.xjrsoft.common.page.ConventPage;
  11. import com.xjrsoft.common.page.PageOutput;
  12. import com.xjrsoft.common.utils.RedisUtil;
  13. import com.xjrsoft.common.utils.VoToColumnUtil;
  14. import com.xjrsoft.common.utils.WeChatUtil;
  15. import com.xjrsoft.module.organization.dto.WeChatDepartPageDto;
  16. import com.xjrsoft.module.organization.dto.WeChatPageDto;
  17. import com.xjrsoft.module.organization.dto.WeChatSendMessageDto;
  18. import com.xjrsoft.module.organization.entity.Department;
  19. import com.xjrsoft.module.organization.entity.User;
  20. import com.xjrsoft.module.organization.service.IDepartmentService;
  21. import com.xjrsoft.module.organization.service.IUserService;
  22. import com.xjrsoft.module.organization.service.WeChatService;
  23. import com.xjrsoft.module.organization.vo.WeChatDepartPageVO;
  24. import com.xjrsoft.module.organization.vo.WeChatPageVO;
  25. import io.swagger.annotations.Api;
  26. import io.swagger.annotations.ApiOperation;
  27. import lombok.AllArgsConstructor;
  28. import org.springframework.web.bind.annotation.*;
  29. import javax.validation.Valid;
  30. import java.util.List;
  31. import java.util.concurrent.CompletableFuture;
  32. @RestController
  33. @RequestMapping(value = GlobalConstant.ORGANIZATION_MODULE_PREFIX + "/wechat")
  34. @Api(value = GlobalConstant.ORGANIZATION_MODULE_PREFIX + "/wechat", tags = "微信")
  35. @AllArgsConstructor
  36. public class WechatController {
  37. private final WeChatService WeChatService;
  38. private final IUserService userService;
  39. private final IDepartmentService departmentService;
  40. private final RedisUtil redisUtil;
  41. private final WeChatUtil weChatUtil;
  42. @PutMapping("/sync-user")
  43. @ApiOperation(value="微信信息更新")
  44. public R updateInfo(){
  45. WeChatService.updateInfo();
  46. CompletableFuture.runAsync(() -> {
  47. List<Department> depList = departmentService.list();
  48. redisUtil.set(GlobalConstant.DEP_CACHE_KEY, depList);
  49. List<User> userList = userService.list();
  50. redisUtil.set(GlobalConstant.USER_CACHE_KEY, userList);
  51. });
  52. return R.ok();
  53. }
  54. @GetMapping(value = "/page")
  55. @ApiOperation(value="获取员工分页信息")
  56. public R page(WeChatPageDto dto){
  57. return R.ok(userService.getPage(dto));
  58. }
  59. @GetMapping(value = "/departpage")
  60. @ApiOperation(value="获取部门分页信息")
  61. public R page(WeChatDepartPageDto dto){
  62. return R.ok(departmentService.Ipage(dto));
  63. }
  64. @PostMapping("/send-message")
  65. @ApiOperation(value="微信公众号发送消息")
  66. public R sendMessage(WeChatSendMessageDto dto){
  67. JSONObject object = new JSONObject();
  68. object.put("touser","o8d_c6c-0yamdT-sEvX1Umgof1fE");
  69. object.put("template_id","sHsmz7LRj7HLd7GSTS3r2uKMhE2f1iDAW15RqSK_6KM");
  70. object.put("url","https://zhxy.cqtlzjzx.com/app/#/pages/message/notice/detail?id=1537635790825926657");
  71. object.put("client_msg_id", "MSG_000022");
  72. JSONObject data=new JSONObject();
  73. JSONObject data1=new JSONObject();
  74. data1.put("value","关于某某事项的审批");
  75. data.put("thing2",data1);
  76. JSONObject data2=new JSONObject();
  77. data2.put("value","张三");
  78. data.put("phrase5",data2);
  79. JSONObject data3=new JSONObject();
  80. data3.put("value","2022-02-22 11:24:00");
  81. data.put("time3",data3);
  82. object.put("data",data);
  83. weChatUtil.sendTemplateMessage(object);
  84. return R.ok();
  85. }
  86. }