1
0
mirror of https://github.com/chatopera/cosin.git synced 2025-08-01 16:38:02 +08:00

Closed #100 修正创建账号bug

This commit is contained in:
Hai Liang Wang 2018-10-18 17:05:02 +08:00
parent b49df28e69
commit 13623ec265
4 changed files with 227 additions and 193 deletions

View File

@ -18,6 +18,7 @@ package com.chatopera.cc.app;
import com.chatopera.cc.app.basic.MainContext;
import com.chatopera.cc.app.config.StartedEventListener;
import com.chatopera.cc.util.Constants;
import com.chatopera.cc.util.SystemEnvHelper;
import com.chatopera.cc.util.mobile.MobileNumberUtils;
import org.apache.commons.lang.StringUtils;
@ -67,15 +68,15 @@ public class Application {
static {
// 外呼模块
if (isCalloutModule) {
MainContext.model.put("sales", true);
MainContext.model.put(Constants.CSKEFU_MODULE_CALLOUT, true);
}
// CRM模块
if (isContactsModule) {
MainContext.model.put("contacts", true);
MainContext.model.put(Constants.CSKEFU_MODULE_CONTACTS, true);
}
// 聊天机器人模块
if (isChatbotModule) {
MainContext.model.put("chatbot", true);
MainContext.model.put(Constants.CSKEFU_MODULE_CHATBOT, true);
}
}

View File

@ -17,6 +17,7 @@
package com.chatopera.cc.app.basic;
import com.chatopera.cc.util.Constants;
import com.chatopera.cc.util.DateConverter;
import com.chatopera.cc.app.basic.resource.ActivityResource;
import com.chatopera.cc.app.basic.resource.BatchResource;
@ -986,4 +987,13 @@ public class MainContext {
public static Class<?> getResource(String resource) {
return uKeFuResourceMap.get(resource);
}
/**
* 是否开启外呼模块
* @return
*/
public static boolean isEnableCalloutModule() {
return model.containsKey(Constants.CSKEFU_MODULE_CALLOUT) && (model.get(Constants.CSKEFU_MODULE_CALLOUT).equals(true));
}
}

View File

@ -16,20 +16,21 @@
*/
package com.chatopera.cc.app.handler.admin.users;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid;
import com.chatopera.cc.app.algorithm.AutomaticServiceDist;
import com.chatopera.cc.app.basic.MainContext;
import com.chatopera.cc.app.basic.MainUtils;
import com.chatopera.cc.app.cache.CacheHelper;
import com.chatopera.cc.app.persistence.repository.UserRoleRepository;
import com.chatopera.cc.app.handler.Handler;
import com.chatopera.cc.app.model.AgentStatus;
import com.chatopera.cc.app.model.User;
import com.chatopera.cc.app.model.UserRole;
import com.chatopera.cc.app.persistence.repository.UserRepository;
import com.chatopera.cc.app.persistence.repository.UserRoleRepository;
import com.chatopera.cc.util.Menu;
import com.chatopera.cc.util.OnlineUserUtils;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;
@ -38,24 +39,22 @@ import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import com.chatopera.cc.util.Menu;
import com.chatopera.cc.app.basic.MainUtils;
import com.chatopera.cc.app.persistence.repository.UserRepository;
import com.chatopera.cc.util.OnlineUserUtils;
import com.chatopera.cc.app.handler.Handler;
import com.chatopera.cc.app.model.User;
import com.chatopera.cc.app.model.UserRole;
import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Date;
import java.util.List;
/**
*
* @author 程序猿DD
* @version 1.0.0
* @blog http://blog.didispace.com
*
*/
@Controller
@RequestMapping("/admin/user")
public class UsersController extends Handler {
private final static Logger logger = LoggerFactory.getLogger(UsersController.class);
@Autowired
private UserRepository userRepository;
@ -135,8 +134,8 @@ public class UsersController extends Handler{
msg = "mobile_exist";
return msg;
}
List<User> tempUserList = userRepository.findBySipaccountAndDatastatus(user.getSipaccount(),false) ;
if(tempUserList.size()!=0&&user.getSipaccount()!="") {
if (!validUserCallcenterParams(user)) {
msg = "sip_account_exist";
return msg;
}
@ -220,11 +219,12 @@ public class UsersController extends Handler{
msg = "mobile_exist";
return msg;
}
List<User> tempUserList = userRepository.findBySipaccountAndDatastatus(user.getSipaccount(),false) ;
if(tempUserList.size()!=0&&user.getSipaccount()!=""&&!user.getSipaccount().equals(oldUser.getSipaccount())) {
if (!validUserCallcenterParams(user)) {
msg = "sip_account_exist";
return msg;
}
return msg;
}
@ -245,4 +245,19 @@ public class UsersController extends Handler{
return request(super.createRequestPageTempletResponse("redirect:/admin/user/index.html?msg=" + msg));
}
/**
* 根据是否开启呼叫中心模块检测账号
* @param user
* @return
*/
private boolean validUserCallcenterParams(final User user) {
if (user.isCallcenter() && MainContext.isEnableCalloutModule()) {
List<User> tempUserList = userRepository.findBySipaccountAndDatastatus(user.getSipaccount(), false);
if (tempUserList.size() != 0 && user.getSipaccount() != "") {
return false;
}
}
return true;
}
}

View File

@ -30,6 +30,14 @@ public class Constants {
public final static String IM_MESSAGE_TYPE_MESSAGE = "message";
public final static String CHATBOT_EVENT_TYPE_CHAT = "chat";
/**
* Modules
*/
public final static String CSKEFU_MODULE_CALLOUT = "sales";
public final static String CSKEFU_MODULE_CHATBOT = "chatbot";
public final static String CSKEFU_MODULE_CONTACTS = "contacts";
/**
* Formatter
*/