1
0
mirror of https://github.com/chatopera/cosin.git synced 2025-07-24 08:31:45 +08:00

Merge pull request #965 from lecjy/feature/964

fix #964 https://github.com/cskefu/cskefu/issues/964
This commit is contained in:
Hai Liang W 2023-11-14 08:59:38 +08:00 committed by GitHub
commit a76520c377
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -12,68 +12,67 @@
* Copyright (C) 2017 优客服-多渠道客服系统, Licensed under the Apache License, Version 2.0,
* http://www.apache.org/licenses/LICENSE-2.0
*/
package com.cskefu.cc.controller.apps;
package com.cskefu.cc.controller.apps;
import com.alibaba.fastjson.JSONObject;
import com.cskefu.cc.acd.ACDAgentService;
import com.cskefu.cc.acd.ACDWorkMonitor;
import com.cskefu.cc.activemq.BrokerPublisher;
import com.cskefu.cc.basic.Constants;
import com.cskefu.cc.basic.MainContext;
import com.cskefu.cc.basic.MainUtils;
import com.cskefu.cc.cache.Cache;
import com.cskefu.cc.controller.Handler;
import com.cskefu.cc.util.restapi.RestUtils;
import com.cskefu.cc.exception.CSKefuException;
import com.cskefu.cc.model.*;
import com.cskefu.cc.peer.PeerSyncIM;
import com.cskefu.cc.persistence.blob.JpaBlobHelper;
import com.cskefu.cc.persistence.interfaces.DataExchangeInterface;
import com.cskefu.cc.persistence.repository.*;
import com.cskefu.cc.proxy.*;
import com.cskefu.cc.socketio.message.ChatMessage;
import com.cskefu.cc.socketio.message.Message;
import com.cskefu.cc.util.Menu;
import com.cskefu.cc.util.PinYinTools;
import com.cskefu.cc.util.PropertiesEventUtil;
import org.apache.commons.lang3.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.context.annotation.Lazy;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;
import org.springframework.data.domain.Sort.Direction;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.util.FileCopyUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.ModelAndView;
import com.alibaba.fastjson.JSONObject;
import com.cskefu.cc.acd.ACDAgentService;
import com.cskefu.cc.acd.ACDWorkMonitor;
import com.cskefu.cc.activemq.BrokerPublisher;
import com.cskefu.cc.basic.Constants;
import com.cskefu.cc.basic.MainContext;
import com.cskefu.cc.basic.MainUtils;
import com.cskefu.cc.cache.Cache;
import com.cskefu.cc.controller.Handler;
import com.cskefu.cc.util.restapi.RestUtils;
import com.cskefu.cc.exception.CSKefuException;
import com.cskefu.cc.model.*;
import com.cskefu.cc.peer.PeerSyncIM;
import com.cskefu.cc.persistence.blob.JpaBlobHelper;
import com.cskefu.cc.persistence.interfaces.DataExchangeInterface;
import com.cskefu.cc.persistence.repository.*;
import com.cskefu.cc.proxy.*;
import com.cskefu.cc.socketio.message.ChatMessage;
import com.cskefu.cc.socketio.message.Message;
import com.cskefu.cc.util.Menu;
import com.cskefu.cc.util.PinYinTools;
import com.cskefu.cc.util.PropertiesEventUtil;
import org.apache.commons.lang3.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.context.annotation.Lazy;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;
import org.springframework.data.domain.Sort.Direction;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.util.FileCopyUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.ModelAndView;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import java.io.File;
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.io.File;
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
@Controller
@RequestMapping("/agent")
public class AgentController extends Handler {
@Controller
@RequestMapping("/agent")
public class AgentController extends Handler {
static final Logger logger = LoggerFactory.getLogger(AgentController.class);
@ -246,10 +245,7 @@ public class AgentController extends Handler {
ModelMap map,
HttpServletRequest request,
HttpServletResponse response,
@Valid String sort,
boolean licenseVerifiedPass,
String licenseBillingMsg) throws IOException {
logger.info("[index] licenseVerifiedPass {}, licenseBillingMsg {}", licenseVerifiedPass, licenseBillingMsg);
@Valid String sort) throws IOException {
final User logined = super.getUser(request);
ModelAndView view = request(super.createView("/apps/agent/index"));
agentUserProxy.buildIndexViewWithModels(view, map, request, response, sort, logined, null);
@ -258,11 +254,7 @@ public class AgentController extends Handler {
@RequestMapping("/agentusers")
@Menu(type = "apps", subtype = "agent")
public ModelAndView agentusers(HttpServletRequest request,
String userid,
boolean licenseVerifiedPass,
String licenseBillingMsg) {
logger.info("[agentusers] userid {}, licenseVerifiedPass {}, licenseBillingMsg {}", userid, licenseVerifiedPass, licenseBillingMsg);
public ModelAndView agentusers(HttpServletRequest request, String userid) {
ModelAndView view = request(super.createView("/apps/agent/agentusers"));
User logined = super.getUser(request);
view.addObject(
@ -271,8 +263,7 @@ public class AgentController extends Handler {
List<AgentUser> agentUserList = agentUserRes.findByUserid(userid);
view.addObject(
"curagentuser", agentUserList != null && agentUserList.size() > 0 ? agentUserList.get(0) : null);
view.addObject("licenseVerifiedPass", licenseVerifiedPass);
view.addObject("licenseBillingMsg", licenseBillingMsg);
return view;
}
@ -698,9 +689,11 @@ public class AgentController extends Handler {
@Menu(type = "apps", subtype = "agent")
public ModelAndView readmsg(HttpServletRequest request, @Valid String userid) {
AgentUserTask agentUserTask = agentUserTaskRes.findById(userid).orElse(null);
agentUserTask.setTokenum(0);
agentUserTaskRes.save(agentUserTask);
agentUserTaskRes.findById(userid).ifPresent(task -> {
task.setTokenum(0);
agentUserTaskRes.save(task);
});
return request(super.createView("/public/success"));
}
@ -1029,14 +1022,12 @@ public class AgentController extends Handler {
map.addAttribute("summary", summaries.get(0));
}
}
Organ currentOrgan = super.getOrgan(request);
if (null != currentOrgan) {
AgentService service = agentServiceRes.findById(agentserviceid).orElse(null);
if (service != null) {
map.addAttribute(
"tags", tagRes.findByTagtypeAndSkill(
MainContext.ModelType.CCSUMMARY.toString(), currentOrgan.getParent()));
MainContext.ModelType.SUMMARY.toString(), service.getSkill()));
}
map.addAttribute("userid", userid);
map.addAttribute("agentserviceid", agentserviceid);
map.addAttribute("agentuserid", agentuserid);
@ -1261,4 +1252,4 @@ public class AgentController extends Handler {
return request(super.createView("redirect:/agent/index.html"));
}
}
}