From 7c32b38f4212af84b95eea5774ec682b06d36036 Mon Sep 17 00:00:00 2001 From: Hai Liang Wang Date: Tue, 16 Oct 2018 18:03:03 +0800 Subject: [PATCH] =?UTF-8?q?Closed=20#98=20=E6=9B=B4=E6=96=B0=E8=AF=AD?= =?UTF-8?q?=E9=9F=B3=E6=B8=A0=E9=81=93=E7=BC=96=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/channel/WebIMController.java | 512 +++++++++--------- .../admin/channel/callout/index.html | 12 +- 2 files changed, 260 insertions(+), 264 deletions(-) diff --git a/contact-center/app/src/main/java/com/chatopera/cc/app/handler/admin/channel/WebIMController.java b/contact-center/app/src/main/java/com/chatopera/cc/app/handler/admin/channel/WebIMController.java index 77483af0..0b3f04cc 100644 --- a/contact-center/app/src/main/java/com/chatopera/cc/app/handler/admin/channel/WebIMController.java +++ b/contact-center/app/src/main/java/com/chatopera/cc/app/handler/admin/channel/WebIMController.java @@ -16,22 +16,17 @@ */ package com.chatopera.cc.app.handler.admin.channel; -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; -import javax.validation.Valid; - -import com.chatopera.cc.util.Menu; import com.chatopera.cc.app.cache.CacheHelper; import com.chatopera.cc.app.handler.Handler; import com.chatopera.cc.app.model.CousultInvite; import com.chatopera.cc.app.model.Organ; import com.chatopera.cc.app.model.OrgiSkillRel; import com.chatopera.cc.app.model.User; +import com.chatopera.cc.app.persistence.repository.*; +import com.chatopera.cc.util.Menu; import org.apache.commons.lang.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; @@ -42,274 +37,277 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.servlet.ModelAndView; -import com.chatopera.cc.app.persistence.repository.ConsultInviteRepository; -import com.chatopera.cc.app.persistence.repository.OrganRepository; -import com.chatopera.cc.app.persistence.repository.OrgiSkillRelRepository; -import com.chatopera.cc.app.persistence.repository.SNSAccountRepository; -import com.chatopera.cc.app.persistence.repository.ServiceAiRepository; -import com.chatopera.cc.app.persistence.repository.UserRepository; +import javax.servlet.http.HttpServletRequest; +import javax.validation.Valid; +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; @Controller @RequestMapping("/admin/webim") public class WebIMController extends Handler { - - @Autowired - private ConsultInviteRepository invite; - - @Autowired - private OrganRepository organRes ; - - @Autowired - private UserRepository userRes ; - - @Autowired - private ServiceAiRepository serviceAiRes ; - - @Autowired - private OrgiSkillRelRepository orgiSkillRelService; - - @Value("${web.upload-path}") + private final static Logger logger = LoggerFactory.getLogger(WebIMController.class); + + @Autowired + private ConsultInviteRepository invite; + + @Autowired + private OrganRepository organRes; + + @Autowired + private UserRepository userRes; + + @Autowired + private ServiceAiRepository serviceAiRes; + + @Autowired + private OrgiSkillRelRepository orgiSkillRelService; + + @Value("${web.upload-path}") private String path; - - @Autowired - private SNSAccountRepository snsAccountRes; + + @Autowired + private SNSAccountRepository snsAccountRes; @RequestMapping("/index") - @Menu(type = "app" , subtype = "app" , admin= true) - public ModelAndView index(ModelMap map , HttpServletRequest request , @Valid String snsid) { - - CousultInvite coultInvite = invite.findBySnsaccountidAndOrgi(snsid, super.getOrgi(request)) ; - if(coultInvite!=null){ - map.addAttribute("inviteData", coultInvite); - map.addAttribute("skillList", getOrgans(request)) ; - map.addAttribute("agentList",getUsers(request)) ; - - map.addAttribute("import", request.getServerPort()) ; - - map.addAttribute("snsAccount", snsAccountRes.findBySnsidAndOrgi(snsid, super.getOrgi(request))) ; - } + @Menu(type = "app", subtype = "app", admin = true) + public ModelAndView index(ModelMap map, HttpServletRequest request, @Valid String snsid) { + + CousultInvite coultInvite = invite.findBySnsaccountidAndOrgi(snsid, super.getOrgi(request)); + if (coultInvite != null) { + map.addAttribute("inviteData", coultInvite); + map.addAttribute("skillList", getOrgans(request)); + map.addAttribute("agentList", getUsers(request)); + + map.addAttribute("import", request.getServerPort()); + + map.addAttribute("snsAccount", snsAccountRes.findBySnsidAndOrgi(snsid, super.getOrgi(request))); + } return request(super.createAdminTempletResponse("/admin/webim/index")); } - + @RequestMapping("/save") - @Menu(type = "admin" , subtype = "app" , admin= true) - public ModelAndView save(HttpServletRequest request , @Valid CousultInvite inviteData , @RequestParam(value = "webimlogo", required = false) MultipartFile webimlogo,@RequestParam(value = "agentheadimg", required = false) MultipartFile agentheadimg) throws IOException { - if(!StringUtils.isBlank(inviteData.getSnsaccountid())){ - CousultInvite tempData = invite.findBySnsaccountidAndOrgi(inviteData.getSnsaccountid() , super.getOrgi(request)) ; - if(tempData!=null){ - tempData.setConsult_vsitorbtn_model(inviteData.getConsult_vsitorbtn_model()); - tempData.setConsult_vsitorbtn_color(inviteData.getConsult_vsitorbtn_color()); - tempData.setConsult_vsitorbtn_position(inviteData.getConsult_vsitorbtn_position()); - tempData.setConsult_vsitorbtn_content(inviteData.getConsult_vsitorbtn_content()); - tempData.setConsult_vsitorbtn_display(inviteData.getConsult_vsitorbtn_display()); - tempData.setConsult_dialog_color(inviteData.getConsult_dialog_color()); - - inviteData = tempData ; - } - }else{ - inviteData.setSnsaccountid(super.getUser(request).getId()); - } - inviteData.setOrgi(super.getOrgi(request)); - if(webimlogo!=null && webimlogo.getOriginalFilename().lastIndexOf(".") > 0){ - File logoDir = new File(path , "logo"); - if(!logoDir.exists()){ - logoDir.mkdirs() ; - } - String fileName = "logo/"+inviteData.getId()+webimlogo.getOriginalFilename().substring(webimlogo.getOriginalFilename().lastIndexOf(".")) ; - FileCopyUtils.copy(webimlogo.getBytes(), new File(path , fileName)); - inviteData.setConsult_dialog_logo(fileName); - } - if(agentheadimg!=null && agentheadimg.getOriginalFilename().lastIndexOf(".") > 0){ - File headimgDir = new File(path , "headimg"); - if(!headimgDir.exists()){ - headimgDir.mkdirs() ; - } - String fileName = "headimg/"+inviteData.getId()+agentheadimg.getOriginalFilename().substring(agentheadimg.getOriginalFilename().lastIndexOf(".")) ; - FileCopyUtils.copy(agentheadimg.getBytes(), new File(path , fileName)); - inviteData.setConsult_dialog_headimg(fileName); - } - invite.save(inviteData) ; - CacheHelper.getSystemCacheBean().put(inviteData.getSnsaccountid(), inviteData, inviteData.getOrgi()); - - return request(super.createRequestPageTempletResponse("redirect:/admin/app/index.html?snsid="+inviteData.getSnsaccountid())); + @Menu(type = "admin", subtype = "app", admin = true) + public ModelAndView save(HttpServletRequest request, @Valid CousultInvite inviteData, @RequestParam(value = "webimlogo", required = false) MultipartFile webimlogo, @RequestParam(value = "agentheadimg", required = false) MultipartFile agentheadimg) throws IOException { + if (!StringUtils.isBlank(inviteData.getSnsaccountid())) { + CousultInvite tempData = invite.findBySnsaccountidAndOrgi(inviteData.getSnsaccountid(), super.getOrgi(request)); + if (tempData != null) { + tempData.setConsult_vsitorbtn_model(inviteData.getConsult_vsitorbtn_model()); + tempData.setConsult_vsitorbtn_color(inviteData.getConsult_vsitorbtn_color()); + tempData.setConsult_vsitorbtn_position(inviteData.getConsult_vsitorbtn_position()); + tempData.setConsult_vsitorbtn_content(inviteData.getConsult_vsitorbtn_content()); + tempData.setConsult_vsitorbtn_display(inviteData.getConsult_vsitorbtn_display()); + tempData.setConsult_dialog_color(inviteData.getConsult_dialog_color()); + + inviteData = tempData; + } + } else { + inviteData.setSnsaccountid(super.getUser(request).getId()); + } + inviteData.setOrgi(super.getOrgi(request)); + if (webimlogo != null && webimlogo.getOriginalFilename().lastIndexOf(".") > 0) { + File logoDir = new File(path, "logo"); + if (!logoDir.exists()) { + logoDir.mkdirs(); + } + String fileName = "logo/" + inviteData.getId() + webimlogo.getOriginalFilename().substring(webimlogo.getOriginalFilename().lastIndexOf(".")); + FileCopyUtils.copy(webimlogo.getBytes(), new File(path, fileName)); + inviteData.setConsult_dialog_logo(fileName); + } + if (agentheadimg != null && agentheadimg.getOriginalFilename().lastIndexOf(".") > 0) { + File headimgDir = new File(path, "headimg"); + if (!headimgDir.exists()) { + headimgDir.mkdirs(); + } + String fileName = "headimg/" + inviteData.getId() + agentheadimg.getOriginalFilename().substring(agentheadimg.getOriginalFilename().lastIndexOf(".")); + FileCopyUtils.copy(agentheadimg.getBytes(), new File(path, fileName)); + inviteData.setConsult_dialog_headimg(fileName); + } + invite.save(inviteData); + CacheHelper.getSystemCacheBean().put(inviteData.getSnsaccountid(), inviteData, inviteData.getOrgi()); + return request(super.createRequestPageTempletResponse("redirect:/admin/webim/index.html?snsid=" + inviteData.getSnsaccountid())); } - + @RequestMapping("/profile") - @Menu(type = "app" , subtype = "profile" , admin= true) - public ModelAndView profile(ModelMap map , HttpServletRequest request , @Valid String snsid) { - CousultInvite coultInvite = invite.findBySnsaccountidAndOrgi(snsid, super.getOrgi(request)) ; - if(coultInvite!=null){ - map.addAttribute("inviteData", coultInvite); - } - map.addAttribute("import", request.getServerPort()) ; - map.addAttribute("snsAccount", snsAccountRes.findBySnsidAndOrgi(snsid, super.getOrgi(request))) ; - - map.put("serviceAiList",serviceAiRes.findByOrgi(super.getOrgi(request)) ) ; - return request(super.createAdminTempletResponse("/admin/app/profile")); + @Menu(type = "app", subtype = "profile", admin = true) + public ModelAndView profile(ModelMap map, HttpServletRequest request, @Valid String snsid) { + CousultInvite coultInvite = invite.findBySnsaccountidAndOrgi(snsid, super.getOrgi(request)); + if (coultInvite != null) { + map.addAttribute("inviteData", coultInvite); + } + map.addAttribute("import", request.getServerPort()); + map.addAttribute("snsAccount", snsAccountRes.findBySnsidAndOrgi(snsid, super.getOrgi(request))); + + map.put("serviceAiList", serviceAiRes.findByOrgi(super.getOrgi(request))); + return request(super.createAdminTempletResponse("/admin/webim/profile")); } - + @RequestMapping("/profile/save") - @Menu(type = "admin" , subtype = "profile" , admin= true) - public ModelAndView saveprofile(HttpServletRequest request , @Valid CousultInvite inviteData, @RequestParam(value = "dialogad", required = false) MultipartFile dialogad) throws IOException { - CousultInvite tempInviteData ; - if(inviteData!=null && !StringUtils.isBlank(inviteData.getId())){ - tempInviteData = invite.findOne(inviteData.getId()) ; - if(tempInviteData!=null){ - tempInviteData.setDialog_name(inviteData.getDialog_name()); - tempInviteData.setDialog_address(inviteData.getDialog_address()); - tempInviteData.setDialog_phone(inviteData.getDialog_phone()); - tempInviteData.setDialog_mail(inviteData.getDialog_mail()); - tempInviteData.setDialog_introduction(inviteData.getDialog_introduction()); - tempInviteData.setDialog_message(inviteData.getDialog_message()); - tempInviteData.setLeavemessage(inviteData.isLeavemessage()) ; - tempInviteData.setLvmopentype(inviteData.getLvmopentype()); - tempInviteData.setLvmname(inviteData.isLvmname()); - tempInviteData.setLvmphone(inviteData.isLvmphone()); - tempInviteData.setLvmemail(inviteData.isLvmemail()); - tempInviteData.setLvmaddress(inviteData.isLvmaddress()); - tempInviteData.setLvmqq(inviteData.isLvmqq()); - tempInviteData.setSkill(inviteData.isSkill()); - - tempInviteData.setConsult_skill_title(inviteData.getConsult_skill_title()); - tempInviteData.setConsult_skill_msg(inviteData.getConsult_skill_msg()); - tempInviteData.setConsult_skill_bottomtitle(inviteData.getConsult_skill_bottomtitle()); - tempInviteData.setConsult_skill_maxagent(inviteData.getConsult_skill_maxagent()); - tempInviteData.setConsult_skill_numbers(inviteData.getConsult_skill_numbers()); - tempInviteData.setConsult_skill_agent(inviteData.isConsult_skill_agent()); - - tempInviteData.setOnlyareaskill(inviteData.isOnlyareaskill()); - tempInviteData.setAreaskilltipmsg(inviteData.getAreaskilltipmsg()); - - tempInviteData.setConsult_info(inviteData.isConsult_info()); - tempInviteData.setConsult_info_email(inviteData.isConsult_info_email()); - tempInviteData.setConsult_info_name(inviteData.isConsult_info_name()); - tempInviteData.setConsult_info_phone(inviteData.isConsult_info_phone()); - tempInviteData.setConsult_info_resion(inviteData.isConsult_info_resion()); - tempInviteData.setConsult_info_message(inviteData.getConsult_info_message()); - tempInviteData.setConsult_info_cookies(inviteData.isConsult_info_cookies()); - - tempInviteData.setRecordhis(inviteData.isRecordhis()); - tempInviteData.setTraceuser(inviteData.isTraceuser()); - - - tempInviteData.setAi(inviteData.isAi()); - tempInviteData.setAifirst(inviteData.isAifirst()); - tempInviteData.setAimsg(inviteData.getAimsg()); - tempInviteData.setAisuccesstip(inviteData.getAisuccesstip()); - tempInviteData.setAiname(inviteData.getAiname()); - tempInviteData.setAiid(inviteData.getAiid()); - - - tempInviteData.setMaxwordsnum(inviteData.getMaxwordsnum()); - - tempInviteData.setCtrlenter(inviteData.isCtrlenter()); - - if(dialogad!=null && !StringUtils.isBlank(dialogad.getName()) && dialogad.getBytes()!=null && dialogad.getBytes().length >0){ - String fileName = "ad/"+inviteData.getId()+dialogad.getOriginalFilename().substring(dialogad.getOriginalFilename().lastIndexOf(".")) ; - File file = new File(path , fileName) ; - if(!file.getParentFile().exists()){ - file.getParentFile().mkdirs(); - } - FileCopyUtils.copy(dialogad.getBytes(), file); - tempInviteData.setDialog_ad(fileName); - } - invite.save(tempInviteData) ; - inviteData = tempInviteData ; - } - }else{ - invite.save(inviteData) ; - } - CacheHelper.getSystemCacheBean().put(inviteData.getSnsaccountid(), inviteData, inviteData.getOrgi()); - return request(super.createRequestPageTempletResponse("redirect:/admin/app/profile.html?snsid="+inviteData.getSnsaccountid())); + @Menu(type = "admin", subtype = "profile", admin = true) + public ModelAndView saveprofile(HttpServletRequest request, @Valid CousultInvite inviteData, @RequestParam(value = "dialogad", required = false) MultipartFile dialogad) throws IOException { + CousultInvite tempInviteData; + if (inviteData != null && !StringUtils.isBlank(inviteData.getId())) { + tempInviteData = invite.findOne(inviteData.getId()); + if (tempInviteData != null) { + tempInviteData.setDialog_name(inviteData.getDialog_name()); + tempInviteData.setDialog_address(inviteData.getDialog_address()); + tempInviteData.setDialog_phone(inviteData.getDialog_phone()); + tempInviteData.setDialog_mail(inviteData.getDialog_mail()); + tempInviteData.setDialog_introduction(inviteData.getDialog_introduction()); + tempInviteData.setDialog_message(inviteData.getDialog_message()); + tempInviteData.setLeavemessage(inviteData.isLeavemessage()); + tempInviteData.setLvmopentype(inviteData.getLvmopentype()); + tempInviteData.setLvmname(inviteData.isLvmname()); + tempInviteData.setLvmphone(inviteData.isLvmphone()); + tempInviteData.setLvmemail(inviteData.isLvmemail()); + tempInviteData.setLvmaddress(inviteData.isLvmaddress()); + tempInviteData.setLvmqq(inviteData.isLvmqq()); + tempInviteData.setSkill(inviteData.isSkill()); + + tempInviteData.setConsult_skill_title(inviteData.getConsult_skill_title()); + tempInviteData.setConsult_skill_msg(inviteData.getConsult_skill_msg()); + tempInviteData.setConsult_skill_bottomtitle(inviteData.getConsult_skill_bottomtitle()); + tempInviteData.setConsult_skill_maxagent(inviteData.getConsult_skill_maxagent()); + tempInviteData.setConsult_skill_numbers(inviteData.getConsult_skill_numbers()); + tempInviteData.setConsult_skill_agent(inviteData.isConsult_skill_agent()); + + tempInviteData.setOnlyareaskill(inviteData.isOnlyareaskill()); + tempInviteData.setAreaskilltipmsg(inviteData.getAreaskilltipmsg()); + + tempInviteData.setConsult_info(inviteData.isConsult_info()); + tempInviteData.setConsult_info_email(inviteData.isConsult_info_email()); + tempInviteData.setConsult_info_name(inviteData.isConsult_info_name()); + tempInviteData.setConsult_info_phone(inviteData.isConsult_info_phone()); + tempInviteData.setConsult_info_resion(inviteData.isConsult_info_resion()); + tempInviteData.setConsult_info_message(inviteData.getConsult_info_message()); + tempInviteData.setConsult_info_cookies(inviteData.isConsult_info_cookies()); + + tempInviteData.setRecordhis(inviteData.isRecordhis()); + tempInviteData.setTraceuser(inviteData.isTraceuser()); + + + tempInviteData.setAi(inviteData.isAi()); + tempInviteData.setAifirst(inviteData.isAifirst()); + tempInviteData.setAimsg(inviteData.getAimsg()); + tempInviteData.setAisuccesstip(inviteData.getAisuccesstip()); + tempInviteData.setAiname(inviteData.getAiname()); + tempInviteData.setAiid(inviteData.getAiid()); + + + tempInviteData.setMaxwordsnum(inviteData.getMaxwordsnum()); + + tempInviteData.setCtrlenter(inviteData.isCtrlenter()); + + if (dialogad != null && !StringUtils.isBlank(dialogad.getName()) && dialogad.getBytes() != null && dialogad.getBytes().length > 0) { + String fileName = "ad/" + inviteData.getId() + dialogad.getOriginalFilename().substring(dialogad.getOriginalFilename().lastIndexOf(".")); + File file = new File(path, fileName); + if (!file.getParentFile().exists()) { + file.getParentFile().mkdirs(); + } + FileCopyUtils.copy(dialogad.getBytes(), file); + tempInviteData.setDialog_ad(fileName); + } + invite.save(tempInviteData); + inviteData = tempInviteData; + } + } else { + invite.save(inviteData); + } + CacheHelper.getSystemCacheBean().put(inviteData.getSnsaccountid(), inviteData, inviteData.getOrgi()); + return request(super.createRequestPageTempletResponse("redirect:/admin/webim/profile.html?snsid=" + inviteData.getSnsaccountid())); } - + @RequestMapping("/invote") - @Menu(type = "app" , subtype = "invote" , admin= true) - public ModelAndView invote(ModelMap map , HttpServletRequest request , @Valid String snsid) { - CousultInvite coultInvite = invite.findBySnsaccountidAndOrgi(snsid, super.getOrgi(request)) ; - if(coultInvite!=null){ - map.addAttribute("inviteData", coultInvite); - } - map.addAttribute("import", request.getServerPort()) ; - map.addAttribute("snsAccount", snsAccountRes.findBySnsidAndOrgi(snsid, super.getOrgi(request))) ; - return request(super.createAdminTempletResponse("/admin/app/invote")); + @Menu(type = "app", subtype = "invote", admin = true) + public ModelAndView invote(ModelMap map, HttpServletRequest request, @Valid String snsid) { + CousultInvite coultInvite = invite.findBySnsaccountidAndOrgi(snsid, super.getOrgi(request)); + if (coultInvite != null) { + map.addAttribute("inviteData", coultInvite); + } + map.addAttribute("import", request.getServerPort()); + map.addAttribute("snsAccount", snsAccountRes.findBySnsidAndOrgi(snsid, super.getOrgi(request))); + return request(super.createAdminTempletResponse("/admin/webim/invote")); } - + @RequestMapping("/invote/save") - @Menu(type = "admin" , subtype = "profile" , admin= true) - public ModelAndView saveinvote(HttpServletRequest request , @Valid CousultInvite inviteData, @RequestParam(value = "invotebg", required = false) MultipartFile invotebg) throws IOException { - CousultInvite tempInviteData ; - if(inviteData!=null && !StringUtils.isBlank(inviteData.getId())){ - tempInviteData = invite.findOne(inviteData.getId()) ; - if(tempInviteData!=null){ - tempInviteData.setConsult_invite_enable(inviteData.isConsult_invite_enable()); - tempInviteData.setConsult_invite_content(inviteData.getConsult_invite_content()); - tempInviteData.setConsult_invite_accept(inviteData.getConsult_invite_accept()); - tempInviteData.setConsult_invite_later(inviteData.getConsult_invite_later()); - tempInviteData.setConsult_invite_delay(inviteData.getConsult_invite_delay()); - - tempInviteData.setConsult_invite_color(inviteData.getConsult_invite_color()); - - if(invotebg!=null && !StringUtils.isBlank(invotebg.getName()) && invotebg.getBytes()!=null && invotebg.getBytes().length >0){ - String fileName = "invote/"+inviteData.getId()+invotebg.getOriginalFilename().substring(invotebg.getOriginalFilename().lastIndexOf(".")) ; - File file = new File(path , fileName) ; - if(!file.getParentFile().exists()){ - file.getParentFile().mkdirs(); - } - FileCopyUtils.copy(invotebg.getBytes(), file); - tempInviteData.setConsult_invite_bg(fileName); - } - invite.save(tempInviteData) ; - inviteData = tempInviteData ; - } - }else{ - invite.save(inviteData) ; - } - CacheHelper.getSystemCacheBean().put(inviteData.getSnsaccountid(), inviteData, inviteData.getOrgi()); - return request(super.createRequestPageTempletResponse("redirect:/admin/app/invote.html?snsid="+inviteData.getSnsaccountid())); + @Menu(type = "admin", subtype = "profile", admin = true) + public ModelAndView saveinvote(HttpServletRequest request, @Valid CousultInvite inviteData, @RequestParam(value = "invotebg", required = false) MultipartFile invotebg) throws IOException { + CousultInvite tempInviteData; + if (inviteData != null && !StringUtils.isBlank(inviteData.getId())) { + tempInviteData = invite.findOne(inviteData.getId()); + if (tempInviteData != null) { + tempInviteData.setConsult_invite_enable(inviteData.isConsult_invite_enable()); + tempInviteData.setConsult_invite_content(inviteData.getConsult_invite_content()); + tempInviteData.setConsult_invite_accept(inviteData.getConsult_invite_accept()); + tempInviteData.setConsult_invite_later(inviteData.getConsult_invite_later()); + tempInviteData.setConsult_invite_delay(inviteData.getConsult_invite_delay()); + + tempInviteData.setConsult_invite_color(inviteData.getConsult_invite_color()); + + if (invotebg != null && !StringUtils.isBlank(invotebg.getName()) && invotebg.getBytes() != null && invotebg.getBytes().length > 0) { + String fileName = "invote/" + inviteData.getId() + invotebg.getOriginalFilename().substring(invotebg.getOriginalFilename().lastIndexOf(".")); + File file = new File(path, fileName); + if (!file.getParentFile().exists()) { + file.getParentFile().mkdirs(); + } + FileCopyUtils.copy(invotebg.getBytes(), file); + tempInviteData.setConsult_invite_bg(fileName); + } + invite.save(tempInviteData); + inviteData = tempInviteData; + } + } else { + invite.save(inviteData); + } + CacheHelper.getSystemCacheBean().put(inviteData.getSnsaccountid(), inviteData, inviteData.getOrgi()); + return request(super.createRequestPageTempletResponse("redirect:/admin/webim/invote.html?snsid=" + inviteData.getSnsaccountid())); } - + /** - * 获取当前产品下组织信息 - * @param request - * @return - */ - private List getOrgans(HttpServletRequest request){ - List list = null; - if(super.isTenantshare()) { - List organIdList = new ArrayList<>(); - List orgiSkillRelList = orgiSkillRelService.findByOrgi(super.getOrgi(request)) ; - if(!orgiSkillRelList.isEmpty()) { - for(OrgiSkillRel rel:orgiSkillRelList) { - organIdList.add(rel.getSkillid()); - } - } - list = organRes.findAll(organIdList); - }else { - list = organRes.findByOrgiAndOrgid(super.getOrgi(request),super.getOrgid(request)) ; - } - return list; + * 获取当前产品下组织信息 + * + * @param request + * @return + */ + private List getOrgans(HttpServletRequest request) { + List list = null; + if (super.isTenantshare()) { + List organIdList = new ArrayList<>(); + List orgiSkillRelList = orgiSkillRelService.findByOrgi(super.getOrgi(request)); + if (!orgiSkillRelList.isEmpty()) { + for (OrgiSkillRel rel : orgiSkillRelList) { + organIdList.add(rel.getSkillid()); + } + } + list = organRes.findAll(organIdList); + } else { + list = organRes.findByOrgiAndOrgid(super.getOrgi(request), super.getOrgid(request)); + } + return list; } - /** - * 获取当前产品下人员信息 - * @param request - * @param q - * @return - */ - private List getUsers(HttpServletRequest request){ - List userList = null; - if(super.isTenantshare()) { - List organIdList = new ArrayList<>(); - List orgiSkillRelList = orgiSkillRelService.findByOrgi(super.getOrgi(request)) ; - if(!orgiSkillRelList.isEmpty()) { - for(OrgiSkillRel rel:orgiSkillRelList) { - organIdList.add(rel.getSkillid()); - } - } - userList=userRes.findByOrganInAndAgentAndDatastatus(organIdList,true,false); - }else { - userList=userRes.findByOrgiAndAgentAndDatastatus(super.getOrgi(request), true,false) ; - } - return userList; + + /** + * 获取当前产品下人员信息 + * + * @param request + * @param q + * @return + */ + private List getUsers(HttpServletRequest request) { + List userList = null; + if (super.isTenantshare()) { + List organIdList = new ArrayList<>(); + List orgiSkillRelList = orgiSkillRelService.findByOrgi(super.getOrgi(request)); + if (!orgiSkillRelList.isEmpty()) { + for (OrgiSkillRel rel : orgiSkillRelList) { + organIdList.add(rel.getSkillid()); + } + } + userList = userRes.findByOrganInAndAgentAndDatastatus(organIdList, true, false); + } else { + userList = userRes.findByOrgiAndAgentAndDatastatus(super.getOrgi(request), true, false); + } + return userList; } } \ No newline at end of file diff --git a/contact-center/app/src/main/resources/templates/admin/channel/callout/index.html b/contact-center/app/src/main/resources/templates/admin/channel/callout/index.html index 1a4bb9cd..ca7db870 100644 --- a/contact-center/app/src/main/resources/templates/admin/channel/callout/index.html +++ b/contact-center/app/src/main/resources/templates/admin/channel/callout/index.html @@ -32,17 +32,15 @@ <#list snsAccountList.content as snsAccount> - - ${snsAccount.name!''} - + ${snsAccount.name!''} ${snsAccount.baseURL!''} ${snsAccount.createtime?string("yyyy-MM-dd HH:mm:ss")} - - - 编辑 - + + + + <#if !(snsAccount.usertype?? && snsAccount.usertype == "0") && snsAccount.datastatus != true > data-confirm="请输入二次安全验证密码" title="删除语音需要进行二次密码验证,请确认是否删除?" >