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 save(@RequestBody SysQyWeChat sysQyWeChat) { SysQyWeChat serviceOne = sysQyWeChatService.getOne(new LambdaQueryWrapper().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 findWechatPicture() { String userId = BaseController.getUser().getId(); SysUser user = sysUserService.getOne(new LambdaQueryWrapper().eq(SysUser::getId, userId)); SysQyWeChat sysQyWeChat = sysQyWeChatService.getOne(new LambdaQueryWrapper().eq(SysQyWeChat::getUserId, user.getLeaderId())); // 是否显示 boolean b = sysSwitchConfigService.weComQRCodeDisplay(); if (sysQyWeChat == null) { List 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 findWechatPictureByUserId(@PathVariable("userId") String userId) { SysQyWeChat sysQyWeChat = sysQyWeChatService.getOne(new LambdaQueryWrapper().eq(SysQyWeChat::getUserId, userId)); return HttpResult.ok(sysQyWeChat); } @ApiOperation(value = "查询微信客服链接") @PostMapping(value = "/find/wechatCustomer") public HttpResult findWechatPictureByUserId() { String userId = BaseController.getUser().getId(); SysUser user = sysUserService.getOne(new LambdaQueryWrapper().eq(SysUser::getId, userId)); SysQyWeChat sysQyWeChat = sysQyWeChatService.getOne(new LambdaQueryWrapper().eq(SysQyWeChat::getUserId, user.getLeaderId())); if (sysQyWeChat == null) { List 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()); } }