package com.xjrsoft.module.organization.controller; import cn.hutool.core.lang.Snowflake; import cn.hutool.core.lang.generator.SnowflakeGenerator; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.xjrsoft.common.constant.GlobalConstant; import com.xjrsoft.common.model.result.R; import com.xjrsoft.common.page.ConventPage; import com.xjrsoft.common.page.PageOutput; import com.xjrsoft.common.utils.RedisUtil; import com.xjrsoft.common.utils.VoToColumnUtil; import com.xjrsoft.common.utils.WeChatUtil; import com.xjrsoft.module.organization.dto.WeChatDepartPageDto; import com.xjrsoft.module.organization.dto.WeChatPageDto; import com.xjrsoft.module.organization.dto.WeChatSendMessageDto; import com.xjrsoft.module.organization.entity.Department; import com.xjrsoft.module.organization.entity.User; import com.xjrsoft.module.organization.service.IDepartmentService; import com.xjrsoft.module.organization.service.IUserService; import com.xjrsoft.module.organization.service.WeChatService; import com.xjrsoft.module.organization.vo.WeChatDepartPageVO; import com.xjrsoft.module.organization.vo.WeChatPageVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.util.List; import java.util.concurrent.CompletableFuture; @RestController @RequestMapping(value = GlobalConstant.ORGANIZATION_MODULE_PREFIX + "/wechat") @Api(value = GlobalConstant.ORGANIZATION_MODULE_PREFIX + "/wechat", tags = "微信") @AllArgsConstructor public class WechatController { private final WeChatService WeChatService; private final IUserService userService; private final IDepartmentService departmentService; private final RedisUtil redisUtil; private final WeChatUtil weChatUtil; @PutMapping("/sync-user") @ApiOperation(value="微信信息更新") public R updateInfo(){ WeChatService.updateInfo(); CompletableFuture.runAsync(() -> { List depList = departmentService.list(); redisUtil.set(GlobalConstant.DEP_CACHE_KEY, depList); List userList = userService.list(); redisUtil.set(GlobalConstant.USER_CACHE_KEY, userList); }); return R.ok(); } @GetMapping(value = "/page") @ApiOperation(value="获取员工分页信息") public R page(WeChatPageDto dto){ return R.ok(userService.getPage(dto)); } @GetMapping(value = "/departpage") @ApiOperation(value="获取部门分页信息") public R page(WeChatDepartPageDto dto){ return R.ok(departmentService.Ipage(dto)); } @PostMapping("/send-message") @ApiOperation(value="微信公众号发送消息") public R sendMessage(WeChatSendMessageDto dto){ JSONObject object = new JSONObject(); object.put("touser","o8d_c6c-0yamdT-sEvX1Umgof1fE"); object.put("template_id","sHsmz7LRj7HLd7GSTS3r2uKMhE2f1iDAW15RqSK_6KM"); object.put("url","https://zhxy.cqtlzjzx.com/app/#/pages/message/notice/detail?id=1537635790825926657"); object.put("client_msg_id", "MSG_000022"); JSONObject data=new JSONObject(); JSONObject data1=new JSONObject(); data1.put("value","关于某某事项的审批"); data.put("thing2",data1); JSONObject data2=new JSONObject(); data2.put("value","张三"); data.put("phrase5",data2); JSONObject data3=new JSONObject(); data3.put("value","2022-02-22 11:24:00"); data.put("time3",data3); object.put("data",data); weChatUtil.sendTemplateMessage(object); return R.ok(); } }