KoalaOutCallController.java 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. package com.care.outcall.controller;
  2. import cn.hutool.json.JSONUtil;
  3. import com.care.common.util.JsonUtil;
  4. import com.care.common.util.JwtUtils;
  5. import com.care.common.util.Result;
  6. import com.care.common.vo.UserLogindConvertVO;
  7. import com.care.outcall.entity.KoalaLoggerEntity;
  8. import com.care.outcall.service.KoalaOutCallService;
  9. import io.jsonwebtoken.Claims;
  10. import io.swagger.annotations.Api;
  11. import io.swagger.annotations.ApiImplicitParam;
  12. import io.swagger.annotations.ApiImplicitParams;
  13. import io.swagger.annotations.ApiOperation;
  14. import org.apache.logging.log4j.LogManager;
  15. import org.apache.logging.log4j.Logger;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.web.bind.annotation.*;
  18. import java.util.Map;
  19. /**
  20. * @author stw
  21. * @version 2.7.0 创建于 2019/7/15
  22. **/
  23. @Api(value = "外呼操作-->考拉外呼日志记录", description = "外呼操作-->考拉外呼日志记录")
  24. @RestController
  25. @RequestMapping("/bms/outcall/")
  26. public class KoalaOutCallController {
  27. private static final Logger logger = LogManager.getLogger(KoalaOutCallController.class);
  28. @Autowired
  29. private KoalaOutCallService koalaOutCallService;
  30. @Autowired
  31. JwtUtils jwtUtils;
  32. @ApiOperation(value = "考拉外呼--手动外呼--坐席基础信息接口", notes = "考拉外呼--手动外呼--坐席基础信息接口")
  33. @ApiImplicitParams({
  34. @ApiImplicitParam(name = "token", value = "放在请求头中的令牌", dataType = "String", paramType = "header", required = true)
  35. })
  36. @GetMapping(value = "/koala/getAgentInfo")
  37. public Result getAgentInfo(@RequestHeader(name = "token") String token) {
  38. try {
  39. Claims claims = jwtUtils.tokenParse(token);
  40. if (claims != null) {
  41. UserLogindConvertVO vo = JSONUtil.toBean(claims.getSubject(), UserLogindConvertVO.class);
  42. String userId = vo.getId().toString();
  43. Map<String, String> map = this.koalaOutCallService.getAgentInfo(userId);
  44. return Result.success(map);
  45. } else {
  46. return Result.error("获取坐席基础信息异常");
  47. }
  48. } catch (Exception e) {
  49. logger.error("获取坐席基础信息异常,信息为:" + e.getMessage());
  50. return Result.error(e.getMessage());
  51. }
  52. }
  53. @ApiOperation(value = "记录呼叫中心日志API", notes = "记录呼叫中心日志")
  54. @PostMapping(value = "/koala/addOptLog", produces = "application/json;charset=UTF-8", consumes = "application/json;charset=UTF-8")
  55. public Result addOptLog(@RequestBody KoalaLoggerEntity koalaLoggerEntity) {
  56. try {
  57. if (logger.isDebugEnabled()) {
  58. logger.debug(JsonUtil.toJson(koalaLoggerEntity));
  59. }
  60. koalaOutCallService.addOptLog(koalaLoggerEntity);
  61. } catch (Exception e) {
  62. logger.error("记录日志接口异常,异常信息:" + e.getMessage());
  63. }
  64. return Result.success();
  65. }
  66. }