ai电销机器人代码部署源码

package cn.jeeweb.modules.vrgateway.controller;

import cn.jeeweb.core.common.controller.BaseCRUDController;
import cn.jeeweb.core.model.AjaxJson;
import cn.jeeweb.core.query.data.Queryable;
import cn.jeeweb.core.security.shiro.authz.annotation.RequiresPathPermission;
import cn.jeeweb.modules.sys.entity.Role;
import cn.jeeweb.modules.sys.entity.User;
import cn.jeeweb.modules.sys.service.IRoleService;
import cn.jeeweb.modules.sys.service.IUserService;
import cn.jeeweb.modules.sys.utils.UserUtils;
import cn.jeeweb.modules.vrgateway.entity.VrGateway;
import cn.jeeweb.modules.vrgateway.service.IVrGatewayService;
import cn.jeeweb.modules.vrgateway.util.ExecuteLinux;
import cn.jeeweb.modules.vrgateway.util.WriteXml;
import cn.jeeweb.modules.vrline.service.IVrUserLineService;
import java.io.PrintStream;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.hibernate.criterion.DetachedCriteria;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping({"${admin.url.prefix}/vrgateway/vrgateway"})
@RequiresPathPermission("vrgateway:vrgateway")
public class VrGatewayController extends BaseCRUDController<VrGateway, String>
{

  @Autowired
  private IUserService iUserService;

  @Autowired
  private IRoleService iRoleService;

  @Autowired
  private IVrGatewayService iVrGatewayService;

  @Autowired
  private IVrUserLineService iVrUserLineService;

  public void preEdit(VrGateway entity, Model model, HttpServletRequest request, HttpServletResponse response)
  {
    User user = UserUtils.getUser();
    List roleList = UserUtils.getRoleList();
    boolean flag = false;
    boolean dlsflag = false;
    boolean yysflag = false;
    for (Role r : roleList) {
      if ("cjgly".equals(r.getCode())) {
        flag = true;
      }
      if ("dls".equals(r.getCode())) {
        dlsflag = true;
      }
      if ("yys".equals(r.getCode())) {
        yysflag = true;
      }
    }
    List userList = new ArrayList();
    String sql = "select * from sys_user where del_flag='0'";
    if (flag) {
      userList = this.iUserService.listEntityByAliasSql(sql, null);
    } else if (dlsflag) {
      sql = sql + " and create_by ='" + user.getId() + "'";
      userList = this.iUserService.listEntityByAliasSql(sql, null);
      userList.add(user);
    } else if (yysflag) {
      sql = sql + " and yysId ='" + user.getId() + "'";
      userList = this.iUserService.listEntityByAliasSql(sql, null);
      userList.add(user);
    }
    request.setAttribute("userList", userList);
    request.setAttribute("vrgateway", entity);
    super.preEdit(entity, model, request, response);
  }

  public void preAjaxList(Queryable queryable, DetachedCriteria detachedCriteria, HttpServletRequest request, HttpServletResponse response)
  {
    User user = UserUtils.getUser();
    List roleList = UserUtils.getRoleList();
    boolean flag = false;
    boolean yysFlag = false;
    boolean dlsFlag = false;
    for (Role r : roleList) {
      if ("cjgly".equals(r.getCode())) {
        flag = true;
      }
      if ("yys".equals(r.getCode())) {
        yysFlag = true;
      }
      if ("dls".equals(r.getCode())) {
        dlsFlag = true;
      }
    }
    if (yysFlag)
      queryable.addCondition("yysId", user);
    else if (dlsFlag) {
      queryable.addCondition("dlsId", user);
    }
    else if (!flag) {
      queryable.addCondition("gatewayUser", user);
    }

    super.preAjaxList(queryable, detachedCriteria, request, response);
  }

  public AjaxJson create(Model model, VrGateway entity, BindingResult result, HttpServletRequest request, HttpServletResponse response)
  {
    String id = request.getParameter("userIdstr");
    if ((id != null) && (!"".equals(id))) {
      User user = (User)this.iUserService.get(id);
      entity.setGatewayUser(user);
    }
    User dquser = UserUtils.getUser();
    Role dqrole = UserUtils.getRole();
    if ("dls".equals(dqrole.getCode())) {
      entity.setDlsId(dquser);
      if ((dquser.getYysId() != null) && (!"".equals(dquser.getYysId())))
        entity.setYysId(UserUtils.get(dquser.getYysId()));
    }
    else if ("yys".equals(dqrole.getCode())) {
      entity.setYysId(dquser);
      if ((id != null) && (!"".equals(id))) {
        List roleList = this.iRoleService.findListByUserId(id);
        User user = (User)this.iUserService.get(id);
        for (Role r : roleList) {
          if ("dls".equals(r.getCode())) {
            entity.setDlsId(UserUtils.get(id));
          }
          if ("DLSGLY".equals(r.getCode())) {
            if ((user.getDlsId() != null) && (!"".equals(user.getDlsId()))) {
              entity.setDlsId(UserUtils.get(user.getDlsId()));
            }
            if ((user.getYysId() != null) && (!"".equals(user.getYysId())))
              entity.setYysId(UserUtils.get(user.getYysId()));
          }
        }
      }
    }
    else if ("DLSGLY".equals(dqrole.getCode())) {
      if ((dquser.getDlsId() != null) && (!"".equals(dquser.getDlsId()))) {
        entity.setDlsId(UserUtils.get(dquser.getDlsId()));
      }
      if ((dquser.getYysId() != null) && (!"".equals(dquser.getYysId()))) {
        entity.setYysId(UserUtils.get(dquser.getYysId()));
      }
    }
    WriteXml wx = new WriteXml();
    wx.writeXmlGoip(entity.getGatewayUserId(), entity.getPassword(), entity.getGatewayUserId() + ".xml");
    ExecuteLinux el = new ExecuteLinux();
    el.executeNewFlow();
    return super.create(model, entity, result, request, response);
  }

  public AjaxJson update(Model model, VrGateway entity, BindingResult result, HttpServletRequest request, HttpServletResponse response)
  {
    String id = request.getParameter("userIdstr");
    VrGateway vg = (VrGateway)get(entity.getId());
    String sql = "update vr_gateway vg set vg.gatewayName='" + entity.getGatewayName() + "',vg.gatewayUserId='" + entity.getGatewayUserId() + "',vg.password='" + entity.getPassword() + "'";
    if ((id != null) && (!"".equals(id))) {
      User user = (User)this.iUserService.get(id);
      sql = sql + ", vg.gatewayUser='" + user.getId() + "'";
    } else {
      sql = sql + ", vg.gatewayUser=null";
    }
    User dquser = UserUtils.getUser();
    Role dqrole = UserUtils.getRole();
    if ("dls".equals(dqrole.getCode())) {
      sql = sql + ", vg.dlsId='" + dquser.getId() + "',vg.yysId='" + dquser.getYysId() + "'";
    }
    else if ("yys".equals(dqrole.getCode())) {
      if ((id != null) && (!"".equals(id))) {
        List roleList = this.iRoleService.findListByUserId(id);
        User user = (User)this.iUserService.get(id);
        for (Role r : roleList) {
          if ("dls".equals(r.getCode())) {
            sql = sql + ", vg.dlsId='" + user.getId() + "',vg.yysId='" + user.getYysId() + "'";
          }
          if ("DLSGLY".equals(r.getCode()))
            sql = sql + ", vg.dlsId='" + user.getDlsId() + "',vg.yysId='" + user.getYysId() + "'";
        }
      }
    }
    else if ("DLSGLY".equals(dqrole.getCode())) {
      sql = sql + ", vg.dlsId='" + dquser.getDlsId() + "',vg.yysId='" + dquser.getYysId() + "'";
    }

    sql = sql + " where vg.id='" + entity.getId() + "'";

    WriteXml wx = new WriteXml();
    WriteXml.deleteFile(vg.getGatewayUserId() + ".xml");
    wx.writeXmlGoip(entity.getGatewayUserId(), entity.getPassword(), entity.getGatewayUserId() + ".xml");
    ExecuteLinux el = new ExecuteLinux();
    el.executeNewFlow();
    this.iVrGatewayService.executeSql(sql, null);
    AjaxJson aj = new AjaxJson();
    aj.success("修改成功");
    return aj;
  }

  public AjaxJson delete(String id)
  {
    String sql = "select * from vr_user_line where gateWay = '" + id + "'";
    List list = this.iVrUserLineService.listByAliasSql(sql, null);
    if (list.size() > 0) {
      AjaxJson aj = new AjaxJson();
      aj.fail("请先删除线路,在删除网关");
      return aj;
    }

    VrGateway vg = (VrGateway)get(id);
    WriteXml wx = new WriteXml();
    WriteXml.deleteFile(vg.getGatewayUserId() + ".xml");
    return super.delete(id);
  }
  @RequestMapping(value={"/undo"}, method={org.springframework.web.bind.annotation.RequestMethod.GET, org.springframework.web.bind.annotation.RequestMethod.POST})
  public void undo(String id, HttpServletRequest request, HttpServletResponse response) {
    System.out.println("------------------------------------------------0000000000000000000000000000000000000");
    try
    {
      ExecuteLinux el = new ExecuteLinux();
      el.executeNewFlow();
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

青藤ai电销机器人系统部署

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
AI电销电话机器人是近年来发展起来的一项新技术,它利用人工智能技术和语音识别技术来自动化完成电话销售的过程。如果您有兴趣使用AI电销电话机器人,下面是关于如何搭建、部署和使用该机器人的相关信息。 要搭建AI电销电话机器人,您需要首先购买一些必要的硬件设备和软件。其中包括一台服务器、PHP环境、Asterisk服务器、自动语音应答模块等等。在这里,我们推荐使用最新的PHP7和Asterisk 17.x版本,以保证你能够顺利的完成搭建和使用的过程。同时,您也可以下载一些现成的源码包来简化搭建过程。 安装完必要的软件和硬件设备后,您需要配置Asterisk服务器和自动语音应答模块。这里建议使用AGI接口来与Asterisk进行通信。同时,还需要配置一些配置文件和数据库,这些文件会在您下载源码包后提供。 完成以上的配置后,您需要修改自动语音应答模块,注入您自己的电话销售业务流程。这个过程需要您拥有较强的开发能力,能够根据您的业务需求进行代码编写和集成。 最后,您需要对AI电销电话机器人进行测试,确保该机器人能够完成您的业务流程并能够正常处理和记录数据。如果测试通过,您就可以开始使用AI电销电话机器人了。 总的来说,AI电销电话机器人的搭建和部署需要您掌握较为复杂的技术技能,所以建议您在开始搭建前认真了解相关的技术和工具,并寻求专业的技术支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值