| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- package com.ydtech.modules.admin.controller;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.ydtech.core.page.HttpResult;
- import com.ydtech.modules.admin.model.SysUser;
- import com.ydtech.modules.admin.model.po.SysQyWeChat;
- import com.ydtech.modules.admin.service.SysQyWeChatService;
- import com.ydtech.modules.admin.service.SysSwitchConfigService;
- import com.ydtech.modules.admin.service.SysUserService;
- import com.ydtech.modules.admin.service.WechatCustomerService;
- import com.ydtech.modules.base.controller.BaseController;
- import com.ydtech.modules.protocol.utils.AssertionUtils;
- import com.ydtech.utils.StringUtils;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import lombok.RequiredArgsConstructor;
- import org.springframework.web.bind.annotation.*;
- import java.time.LocalDateTime;
- import java.util.List;
- import java.util.Random;
- @RestController
- @RequestMapping("/sys/qy/wechat")
- @RequiredArgsConstructor
- @Api(tags = "企业微信宣传图管理")
- public class SysQyWeChatController {
- private final SysQyWeChatService sysQyWeChatService;
- private final SysUserService sysUserService;
- private final SysSwitchConfigService sysSwitchConfigService;
- private final WechatCustomerService wechatCustomerService;
- @ApiOperation(value = "配置宣传图/客服")
- @PostMapping(value = "/save/picture")
- public HttpResult<SysQyWeChat> save(@RequestBody SysQyWeChat sysQyWeChat) {
- SysQyWeChat serviceOne = sysQyWeChatService.getOne(new LambdaQueryWrapper<SysQyWeChat>().eq(SysQyWeChat::getUserId, sysQyWeChat.getUserId()));
- boolean save;
- sysQyWeChat.setOperator(BaseController.getUser().getName());
- sysQyWeChat.setOperatorTime(LocalDateTime.now());
- if (serviceOne != null) {
- sysQyWeChat.setId(serviceOne.getId());
- save = sysQyWeChatService.updateById(sysQyWeChat);
- }else{
- save = sysQyWeChatService.save(sysQyWeChat);
- }
- AssertionUtils.isSucceed(save, "添加失败");
- return HttpResult.ok("添加成功");
- }
- @ApiOperation(value = "查询当前员工宣传图 客服")
- @GetMapping(value = "/find/picture")
- public HttpResult<SysQyWeChat> findWechatPicture() {
- String userId = BaseController.getUser().getId();
- SysUser user = sysUserService.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getId, userId));
- SysQyWeChat sysQyWeChat = sysQyWeChatService.getOne(new LambdaQueryWrapper<SysQyWeChat>().eq(SysQyWeChat::getUserId, user.getLeaderId()));
- // 是否显示
- boolean b = sysSwitchConfigService.weComQRCodeDisplay();
- if (sysQyWeChat == null) {
- List<SysQyWeChat> list = sysQyWeChatService.list();
- sysQyWeChat = list.get(new Random().nextInt(list.size()));
- }
- sysQyWeChat.setOpenKfId(null);
- sysQyWeChat.setOpenKfName(null);
- sysQyWeChat.setDisplay(b);
- return HttpResult.ok(sysQyWeChat);
- }
- @ApiOperation(value = "查询对应员工宣传图")
- @GetMapping(value = "/find/picture/{userId}")
- public HttpResult<SysQyWeChat> findWechatPictureByUserId(@PathVariable("userId") String userId) {
- SysQyWeChat sysQyWeChat = sysQyWeChatService.getOne(new LambdaQueryWrapper<SysQyWeChat>().eq(SysQyWeChat::getUserId, userId));
- return HttpResult.ok(sysQyWeChat);
- }
- @ApiOperation(value = "查询微信客服链接")
- @PostMapping(value = "/find/wechatCustomer")
- public HttpResult<String> findWechatPictureByUserId() {
- String userId = BaseController.getUser().getId();
- SysUser user = sysUserService.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getId, userId));
- SysQyWeChat sysQyWeChat = sysQyWeChatService.getOne(new LambdaQueryWrapper<SysQyWeChat>().eq(SysQyWeChat::getUserId, user.getLeaderId()));
- if (sysQyWeChat == null) {
- List<SysQyWeChat> list = sysQyWeChatService.list();
- sysQyWeChat = list.get(new Random().nextInt(list.size()));
- }
- String s = wechatCustomerService.addContactWay(sysQyWeChat.getOpenKfId());
- if(StringUtils.isNotEmpty(s)){
- String url = s + "&scene_param=" + userId;
- return HttpResult.ok(url);
- }
- return HttpResult.ok(sysQyWeChat.getSupportStaffUrl());
- }
- }
|