Commit 626141c5 by zhengnw@sobot.com

common 登录方式调整

parent 73da01cf
......@@ -17,6 +17,9 @@ import com.sobot.album.AlbumFile;
import com.sobot.album.SobotAlbum;
import com.sobot.album.SobotMediaLoader;
import com.sobot.album.api.widget.Widget;
import com.sobot.common.login.SobotLoginTools;
import com.sobot.common.login.callback.SobotResultBlock;
import com.sobot.common.login.callback.SobotResultCode;
import com.sobot.common.utils.SobotImageUtils;
import com.sobot.pictureframe.SobotBitmapUtil;
import com.sobot.utils.SobotLogUtils;
......@@ -65,7 +68,7 @@ public class MainActivity extends SobotBaseActivity {
img2 = findViewById(R.id.img2);
// img2.setScaleType(ImageView.ScaleType.FIT_XY);
SobotBitmapUtil.display(this, "https://img.sobot.com/chatres/75574e5fa29a48458d1f57ab5489a4c5/msg/20220421/34a466420d78fa1172bc0acd85166745/9410b53be86b4d589c61c60f6aee2461.jpeg", img2);
// SobotBitmapUtil.display(this, "https://img.sobot.com/chatres/75574e5fa29a48458d1f57ab5489a4c5/msg/20220421/34a466420d78fa1172bc0acd85166745/9410b53be86b4d589c61c60f6aee2461.jpeg", img2);
// File save=new File(SobotSDCardUtils.getSDCardRootPath(MainActivity.this)+"/9410b53be86b4d589c61c60f6aee2461.jpeg");
// HttpBaseUtils.getInstance().download("https://img.sobot.com/chatres/75574e5fa29a48458d1f57ab5489a4c5/msg/20220421/34a466420d78fa1172bc0acd85166745/9410b53be86b4d589c61c60f6aee2461.jpeg", save, new HttpBaseUtils.FileCallBack() {
// @Override
......@@ -212,31 +215,37 @@ public class MainActivity extends SobotBaseActivity {
// }
Map<String, Object> map1 = new HashMap<>();
map1.put("email", "zhengnw@zhichi.com");
map1.put("passwd", "znw123456");
map1.put("loginStatus", "1");
map1.put("from", 2 + "");
map1.put("way", "10");
map1.put("ack", "1");
Map<String, String> headers1 = new HashMap<>();
headers1.put("language", "zh");
// SobotLoginTools.getInstance().doAppLogin(MainActivity.this, getSobotBaseContext(), "https://api-c.sobot.com/text","https://api-c.soboten.com/text", 8000, map1, headers1,"zhengnw@sobot.com","znw123456", new SobotResultBlock() {
// SobotLoginTools.getInstance().doLogin(MainActivity.this, getSobotBaseContext(), true, "https://test-branche1.sobot.com/text", "https://test-branche1.sobot.com/text", "zhengnw@zhichi.com", "znw123456", map1, new SobotResultBlock() {
// @Override
// public void resultBolok(SobotResultCode code, String msg, Object obj) {
// SobotLoginTools.getInstance().checkExpiresToken();
// SobotLogUtils.i(SobotLoginTools.getInstance().getAccessToken()+"");
// SobotLogUtils.i(SobotLoginTools.getInstance().getAccessToken() + "");
// SobotLogUtils.i(SobotLoginTools.getInstance().getTempId());
// SobotLogUtils.i(SobotLoginTools.getInstance().getToken()+"");
// SobotLoginTools.getInstance().logOut(MainActivity.this, "https://api-c.sobot.com/text", "zhengnw@sobot.com", new SobotResultBlock() {
// @Override
// public void resultBolok(SobotResultCode code, String msg, Object obj) {
//
// }
// });
// SobotLogUtils.i(SobotLoginTools.getInstance().getToken() + "");
//// SobotLoginTools.getInstance().logOut(MainActivity.this, "https://api-c.sobot.com/text", "zhengnw@zhichi.com", new SobotResultBlock() {
//// @Override
//// public void resultBolok(SobotResultCode code, String msg, Object obj) {
////
//// }
//// });
// }
// });
SobotLoginTools.getInstance().loginWithAppkey(MainActivity.this, getSobotBaseContext(), true, "https://test-branche1.sobot.com/text", "https://test.sobot.com", "zhengnw@zhichi.com", "UaH4q8JHj708", "615abf5432134e4992d4da2ba6f460db", map1, new SobotResultBlock() {
@Override
public void resultBolok(SobotResultCode code, String msg, Object obj) {
SobotLoginTools.getInstance().checkExpiresToken();
SobotLogUtils.i(SobotLoginTools.getInstance().getAccessToken() + "");
SobotLogUtils.i(SobotLoginTools.getInstance().getTempId());
SobotLogUtils.i(SobotLoginTools.getInstance().getToken() + "");
}
});
// LoginUserEntity sa=new LoginUserEntity();
// sa.setLogin_time(System.currentTimeMillis());
......@@ -261,19 +270,19 @@ public class MainActivity extends SobotBaseActivity {
//// 是否隐藏底部工具栏 默认false显示, true 隐藏
// intent.putExtra("isHideToolBar", true);
// startActivity(intent);
permissionListener = new SobotPermissionListenerImpl() {
@Override
public void onPermissionSuccessListener() {
openAlbum();
}
};
if (checkIsShowPermissionPop(getString(R.string.sobot_memory_card), getString(R.string.sobot_memory_card_yongtu), 1, 4)) {
return;
}
if (!checkStoragePermission(4)) {
return;
}
openAlbum();
// permissionListener = new SobotPermissionListenerImpl() {
// @Override
// public void onPermissionSuccessListener() {
// openAlbum();
// }
// };
// if (checkIsShowPermissionPop(getString(R.string.sobot_memory_card), getString(R.string.sobot_memory_card_yongtu), 1, 4)) {
// return;
// }
// if (!checkStoragePermission(4)) {
// return;
// }
// openAlbum();
}
......
......@@ -16,3 +16,4 @@ org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
# AndroidX package structure to make it clearer which packages are bundled with the
# Android operating system, and which are packaged with your app"s APK
# https://developer.android.com/topic/libraries/support-library/androidx-rn
android.injected.testOnly=false
\ No newline at end of file
package com.sobot.common.login.db;
import android.annotation.SuppressLint;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import com.sobot.common.login.model.ServiceFunctionVoModel;
import com.sobot.common.utils.SobotGlobalContext;
import java.util.List;
/**
* 权限信息 操作类
*/
public class FunctionManager extends SobotCommonDao<ServiceFunctionVoModel> {
private FunctionManager(Context context) {
super(new SobotCommonDBHelper(context));
}
//volatile关键字确保多线程下正确处理
private volatile static FunctionManager mInstance;
public static FunctionManager getInstance() {
//第一次判空
if (mInstance == null) {
//进入同步区域
synchronized (FunctionManager.class) {
//第二次判空
if (mInstance == null) {
mInstance = new FunctionManager(SobotGlobalContext.getAppContext());
}
}
}
return mInstance;
}
@Override
public String getTableName() {
return SobotCommonDBHelper.TABLE_LOGIN_USER_FUN_INFO;
}
@Override
public void unInit() {
}
@SuppressLint("Range")
@Override
public ServiceFunctionVoModel parseCursorToBean(Cursor cursor) {
ServiceFunctionVoModel model = new ServiceFunctionVoModel();
model.setId(cursor.getString(cursor.getColumnIndex("id")));
model.setCheckedCode(cursor.getInt(cursor.getColumnIndex("checkedCode")));
model.setCode(cursor.getString(cursor.getColumnIndex("code")));
return model;
}
@Override
public ContentValues getContentValues(ServiceFunctionVoModel functionVoModel) {
ContentValues contentValues = new ContentValues();
contentValues.put("id", functionVoModel.getId());
contentValues.put("code", functionVoModel.getCode());
contentValues.put("checkedCode", functionVoModel.getCheckedCode());
return contentValues;
}
public void setFunctionVos(List<ServiceFunctionVoModel> list) {
deleteAll();
insert(list);
}
/**
* 获取权限信息类
*/
public List<ServiceFunctionVoModel> getFunctionVos() {
List<ServiceFunctionVoModel> list = query(null, null, null, null, null, null, null);
return list;
}
}
package com.sobot.common.login.db;
import android.annotation.SuppressLint;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import com.sobot.common.login.model.LoginUserEntity;
import com.sobot.common.utils.SobotGlobalContext;
import com.sobot.gson.SobotGsonUtil;
import com.sobot.utils.SobotStringUtils;
import java.util.List;
import java.util.Map;
/**
* 登录用户信息 操作类
*/
public class LoginUserManager extends SobotCommonDao<LoginUserEntity> {
private LoginUserManager(Context context) {
super(new SobotCommonDBHelper(context));
}
//volatile关键字确保多线程下正确处理
private volatile static LoginUserManager mInstance;
public static LoginUserManager getInstance() {
//第一次判空
if (mInstance == null) {
//进入同步区域
synchronized (LoginUserManager.class) {
//第二次判空
if (mInstance == null) {
mInstance = new LoginUserManager(SobotGlobalContext.getAppContext());
}
}
}
return mInstance;
}
@Override
public String getTableName() {
return SobotCommonDBHelper.TABLE_LOGIN_USER;
}
@Override
public void unInit() {
}
@SuppressLint("Range")
@Override
public LoginUserEntity parseCursorToBean(Cursor cursor) {
LoginUserEntity model = new LoginUserEntity();
model.setTempId(cursor.getString(cursor.getColumnIndex("tempId")));
model.setNickName(cursor.getString(cursor.getColumnIndex("nickName")));
model.setStaffName(cursor.getString(cursor.getColumnIndex("staffName")));
model.setMaxServiceCount(cursor.getInt(cursor.getColumnIndex("maxServiceCount")));
model.setBlackFunction(cursor.getInt(cursor.getColumnIndex("blackFunction")));
model.setTransferFunction(cursor.getInt(cursor.getColumnIndex("transferFunction")));
String ticketFunction = cursor.getString(cursor.getColumnIndex("ticketFunction"));
if (!SobotStringUtils.isEmpty(ticketFunction)){
Map<String, Boolean> map = SobotGsonUtil.jsonToMaps(ticketFunction);
model.setTicketFunction(map);
}
model.setFace(cursor.getString(cursor.getColumnIndex("face")));
model.setCompanyName(cursor.getString(cursor.getColumnIndex("companyName")));
model.setAppKey(cursor.getString(cursor.getColumnIndex("appKey")));
model.setSid(cursor.getString(cursor.getColumnIndex("sid")));
model.setPu(cursor.getString(cursor.getColumnIndex("pu")));
model.setPuid(cursor.getString(cursor.getColumnIndex("puid")));
model.setToken(cursor.getString(cursor.getColumnIndex("token")));
model.setCusRoleName(cursor.getString(cursor.getColumnIndex("cusRoleName")));
model.setAid(cursor.getString(cursor.getColumnIndex("aid")));
model.setCenterNumber(cursor.getString(cursor.getColumnIndex("centerNumber")));
model.setAccountStatus(cursor.getString(cursor.getColumnIndex("accountStatus")));
model.setImFlag(cursor.getInt(cursor.getColumnIndex("imFlag")));
model.setCusRoleId(cursor.getInt(cursor.getColumnIndex("cusRoleId")));
model.setStatus(cursor.getInt(cursor.getColumnIndex("status")));
model.setTopFlag(cursor.getInt(cursor.getColumnIndex("topFlag")));
model.setSortFlag(cursor.getInt(cursor.getColumnIndex("sortFlag")));
model.setFuseWork(cursor.getInt(cursor.getColumnIndex("fuseWork")));
model.setCallV6Flag(cursor.getInt(cursor.getColumnIndex("callV6Flag")));
model.setCallV1Flag(cursor.getInt(cursor.getColumnIndex("callV1Flag")));
model.setTransferAuditFlag(cursor.getInt(cursor.getColumnIndex("transferAuditFlag")));
model.setKbVersion(cursor.getInt(cursor.getColumnIndex("kbVersion")) + "");
model.setCompanyId(cursor.getString(cursor.getColumnIndex("companyId")));
model.setLanguage(cursor.getString(cursor.getColumnIndex("local_language")));
model.setAccess_token(cursor.getString(cursor.getColumnIndex(LoginUserEntity.ACCESS_TOKEN)));
model.setLogin_time(cursor.getLong(cursor.getColumnIndex(LoginUserEntity.LOGIN_TIME)));
model.setLoginAccount(cursor.getString(cursor.getColumnIndex("login_account")));
model.setLoginPwd(cursor.getString(cursor.getColumnIndex("login_pwd")));
model.setWslinkDefault(cursor.getString(cursor.getColumnIndex("wslinkDefault")));
return model;
}
@Override
public ContentValues getContentValues(LoginUserEntity userAccount) {
ContentValues contentValues = new ContentValues();
contentValues.put("_id", 8888);
contentValues.put("tempId", userAccount.getTempId());
contentValues.put("nickName", userAccount.getNickName());
contentValues.put("staffName", userAccount.getStaffName());
contentValues.put("maxServiceCount", userAccount.getMaxServiceCount());
contentValues.put("blackFunction", userAccount.getBlackFunction());
contentValues.put("transferFunction", userAccount.getTransferFunction());
if (userAccount.getTicketFunction() != null) {
contentValues.put("ticketFunction", SobotGsonUtil.beanToJson(userAccount.getTicketFunction()));
}
contentValues.put("face", userAccount.getFace());
contentValues.put("companyName", userAccount.getCompanyName());
contentValues.put("appKey", userAccount.getAppKey());
contentValues.put("sid", userAccount.getSid());
contentValues.put("pu", userAccount.getPu());
contentValues.put("puid", userAccount.getPuid());
contentValues.put("token", userAccount.getToken());
contentValues.put("cusRoleName", userAccount.getCusRoleName());
contentValues.put("aid", userAccount.getAid());
contentValues.put("centerNumber", userAccount.getCenterNumber());
contentValues.put("accountStatus", userAccount.getAccountStatus());
contentValues.put("imFlag", userAccount.isImFlag());
contentValues.put("cusRoleId", userAccount.getCusRoleId());
contentValues.put("status", userAccount.getStatus());
contentValues.put("topFlag", userAccount.getTopFlag());
contentValues.put("sortFlag", userAccount.getSortFlag());
contentValues.put("fuseWork", userAccount.getFuseWork());
contentValues.put("callV6Flag", userAccount.getCallV6Flag());
contentValues.put("callV1Flag", userAccount.getCallV1Flag());
contentValues.put("transferAuditFlag", userAccount.getTransferAuditFlag());
int kbVersion = 1;
if ("6".contains(SobotStringUtils.checkStringIsNull(userAccount.getKbVersion()))) {
kbVersion = 6;
}
contentValues.put("kbVersion", kbVersion);
contentValues.put("companyId", userAccount.getCompanyId());
contentValues.put("local_language", userAccount.getLanguage());
contentValues.put(LoginUserEntity.ACCESS_TOKEN, userAccount.getAccess_token());
contentValues.put(LoginUserEntity.LOGIN_TIME, userAccount.getLogin_time());
contentValues.put("login_account",userAccount.getLoginAccount());
contentValues.put("login_pwd",userAccount.getLoginPwd());
contentValues.put("wslinkDefault",userAccount.getWslinkDefault());
return contentValues;
}
public void saveUser(LoginUserEntity user) {
insert(user);
}
/**
* 获取最近用户记录 按日期倒序
*/
public LoginUserEntity getCurUser() {
List<LoginUserEntity> list = query(null, null, null, null, null, null, null);
return list.size() > 0 ? list.get(0) : null;
}
}
......@@ -6,7 +6,6 @@ import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import com.sobot.common.login.model.ServiceFunctionVoModel;
import com.sobot.common.login.model.SobotServiceInfoModel;
import com.sobot.common.utils.SobotGlobalContext;
import com.sobot.gson.SobotGsonUtil;
......@@ -30,7 +29,7 @@ public class ServiceInfoManager extends SobotCommonDao<SobotServiceInfoModel> {
//第一次判空
if (mInstance == null) {
//进入同步区域
synchronized (LoginUserManager.class) {
synchronized (ServiceInfoManager.class) {
//第二次判空
if (mInstance == null) {
mInstance = new ServiceInfoManager(SobotGlobalContext.getAppContext());
......@@ -42,7 +41,7 @@ public class ServiceInfoManager extends SobotCommonDao<SobotServiceInfoModel> {
@Override
public String getTableName() {
return SobotCommonDBHelper.TABLE_SERVICE_INFO;
return SobotCommonDBHelper.TABLE_LOGIN_USER_INFO;
}
@Override
......@@ -54,22 +53,44 @@ public class ServiceInfoManager extends SobotCommonDao<SobotServiceInfoModel> {
@Override
public SobotServiceInfoModel parseCursorToBean(Cursor cursor) {
SobotServiceInfoModel model = new SobotServiceInfoModel();
model.setTempId(cursor.getString(cursor.getColumnIndex("tempId")));
model.setServiceNick(cursor.getString(cursor.getColumnIndex("nickName")));
model.setMaxAccept(cursor.getInt(cursor.getColumnIndex("maxAccept")));
model.setBlackFunction(cursor.getInt(cursor.getColumnIndex("blackFunction")));
model.setTransferFunction(cursor.getInt(cursor.getColumnIndex("transferFunction")));
model.setCompanyName(cursor.getString(cursor.getColumnIndex("companyName")));
model.setPu(cursor.getString(cursor.getColumnIndex("pu")));
model.setPuid(cursor.getString(cursor.getColumnIndex("puid")));
model.setToken(cursor.getString(cursor.getColumnIndex("token")));
model.setCusRoleName(cursor.getString(cursor.getColumnIndex("cusRoleName")));
model.setCenterNumber(cursor.getString(cursor.getColumnIndex("centerNumber")));
model.setAccountStatus(cursor.getString(cursor.getColumnIndex("accountStatus")));
model.setImFlag(cursor.getInt(cursor.getColumnIndex("imFlag")));
model.setCusRoleId(cursor.getInt(cursor.getColumnIndex("cusRoleId")));
model.setStatus(cursor.getInt(cursor.getColumnIndex("status")));
model.setTopFlag(cursor.getInt(cursor.getColumnIndex("topFlag")));
model.setSortFlag(cursor.getInt(cursor.getColumnIndex("sortFlag")));
model.setFuseWork(cursor.getInt(cursor.getColumnIndex("fuseWork")));
model.setCallV6Flag(cursor.getInt(cursor.getColumnIndex("callV6Flag")));
model.setCallV1Flag(cursor.getInt(cursor.getColumnIndex("callV1Flag")));
model.setTransferAuditFlag(cursor.getInt(cursor.getColumnIndex("transferAuditFlag")));
model.setKbVersion(cursor.getInt(cursor.getColumnIndex("kbVersion")) + "");
model.setRobotVersion(cursor.getInt(cursor.getColumnIndex("robotVersion")) + "");
model.setOnlineVersion(cursor.getInt(cursor.getColumnIndex("onlineVersion")) + "");
model.setCompanyId(cursor.getString(cursor.getColumnIndex("companyId")));
model.setLanguage(cursor.getString(cursor.getColumnIndex("local_language")));
model.setAccess_token(cursor.getString(cursor.getColumnIndex(SobotServiceInfoModel.ACCESS_TOKEN)));
model.setLogin_time(cursor.getLong(cursor.getColumnIndex(SobotServiceInfoModel.LOGIN_TIME)));
model.setLoginAccount(cursor.getString(cursor.getColumnIndex("login_account")));
model.setLoginPwd(cursor.getString(cursor.getColumnIndex("login_pwd")));
model.setWslinkDefault(cursor.getString(cursor.getColumnIndex("wslinkDefault")));
model.setServiceId(cursor.getString(cursor.getColumnIndex("serviceId")));
model.setServiceName(cursor.getString(cursor.getColumnIndex("serviceName")));
model.setCusRoleId(cursor.getString(cursor.getColumnIndex("cusRoleId")));
model.setCusRoleName(cursor.getString(cursor.getColumnIndex("cusRoleName")));
model.setServiceLanguage(cursor.getString(cursor.getColumnIndex("serviceLanguage")));
model.setNewBossSwitch(cursor.getInt(cursor.getColumnIndex("newBossSwitch")));
model.setRegion(cursor.getInt(cursor.getColumnIndex("region")));
String functionStr = cursor.getString(cursor.getColumnIndex("functionStr"));
if (!SobotStringUtils.isEmpty(functionStr)) {
List<ServiceFunctionVoModel> list = SobotGsonUtil.jsonToBeans(functionStr, new TypeToken<List<ServiceFunctionVoModel>>() {
}.getType());
model.setFunctionStr(list);
}
model.setCompanyId(cursor.getString(cursor.getColumnIndex("companyId")));
model.setCallV6Flag(cursor.getInt(cursor.getColumnIndex("callV6Flag")));
model.setLanguage(cursor.getString(cursor.getColumnIndex("language")));
model.setTimezone(cursor.getString(cursor.getColumnIndex("timezone")));
model.setTimezoneId(cursor.getString(cursor.getColumnIndex("timezoneId")));
model.setPhoneNo(cursor.getString(cursor.getColumnIndex("phoneNo")));
......@@ -85,19 +106,49 @@ public class ServiceInfoManager extends SobotCommonDao<SobotServiceInfoModel> {
@Override
public ContentValues getContentValues(SobotServiceInfoModel infoModel) {
ContentValues contentValues = new ContentValues();
contentValues.put("_id", 8888);
contentValues.put("tempId", infoModel.getTempId());
contentValues.put("serviceNick", infoModel.getServiceNick());
contentValues.put("maxAccept", infoModel.getMaxAccept());
contentValues.put("blackFunction", infoModel.getBlackFunction());
contentValues.put("transferFunction", infoModel.getTransferFunction());
contentValues.put("faceImg", infoModel.getFaceImg());
contentValues.put("companyName", infoModel.getCompanyName());
contentValues.put("pu", infoModel.getPu());
contentValues.put("puid", infoModel.getPuid());
contentValues.put("token", infoModel.getToken());
contentValues.put("cusRoleName", infoModel.getCusRoleName());
contentValues.put("centerNumber", infoModel.getCenterNumber());
contentValues.put("accountStatus", infoModel.getAccountStatus());
contentValues.put("imFlag", infoModel.isImFlag());
contentValues.put("cusRoleId", infoModel.getCusRoleId());
contentValues.put("status", infoModel.getStatus());
contentValues.put("topFlag", infoModel.getTopFlag());
contentValues.put("sortFlag", infoModel.getSortFlag());
contentValues.put("fuseWork", infoModel.getFuseWork());
contentValues.put("callV6Flag", infoModel.getCallV6Flag());
contentValues.put("callV1Flag", infoModel.getCallV1Flag());
contentValues.put("transferAuditFlag", infoModel.getTransferAuditFlag());
int kbVersion = 1;
if ("6".contains(SobotStringUtils.checkStringIsNull(infoModel.getKbVersion()))) {
kbVersion = 6;
}
contentValues.put("kbVersion", kbVersion);
contentValues.put("robotVersion", infoModel.getRobotVersion());
contentValues.put("onlineVersion", infoModel.getOnlineVersion());
contentValues.put("companyId", infoModel.getCompanyId());
contentValues.put("local_language", infoModel.getLanguage());
contentValues.put(SobotServiceInfoModel.ACCESS_TOKEN, infoModel.getAccess_token());
contentValues.put(SobotServiceInfoModel.LOGIN_TIME, infoModel.getLogin_time());
contentValues.put("login_account", infoModel.getLoginAccount());
contentValues.put("login_pwd", infoModel.getLoginPwd());
contentValues.put("wslinkDefault", infoModel.getWslinkDefault());
contentValues.put("serviceId", infoModel.getServiceId());
contentValues.put("serviceName", infoModel.getServiceName());
contentValues.put("cusRoleId", infoModel.getCusRoleId());
contentValues.put("cusRoleName", infoModel.getCusRoleName());
contentValues.put("serviceLanguage", infoModel.getServiceLanguage());
contentValues.put("newBossSwitch", infoModel.getNewBossSwitch());
contentValues.put("region", infoModel.getRegion());
if (!SobotStringUtils.isEmpty(infoModel.getFunctionStr())) {
contentValues.put("functionStr", SobotGsonUtil.beanToJson(infoModel.getFunctionStr()));
}
contentValues.put("companyId", infoModel.getCompanyId());
contentValues.put("callV6Flag", infoModel.getCallV6Flag());
contentValues.put("language", infoModel.getLanguage());
contentValues.put("timezone", infoModel.getTimezone());
contentValues.put("timezoneId", infoModel.getTimezoneId());
contentValues.put("phoneNo", infoModel.getPhoneNo());
......
......@@ -4,7 +4,6 @@ import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import com.sobot.common.login.model.LoginUserEntity;
import com.sobot.common.login.model.SobotServiceInfoModel;
import java.util.concurrent.locks.Lock;
......@@ -17,10 +16,12 @@ class SobotCommonDBHelper extends SQLiteOpenHelper {
private static final String DB_CACHE_NAME = "sobot_common.db";
// private static final int DB_CACHE_VERSION = 1;
private static final int DB_CACHE_VERSION = 5;
static final String TABLE_LOGIN_USER = "login_user";
private static final int DB_CACHE_VERSION = 6;
static final String TABLE_LOGIN_USER = "login_user";//废弃
static final String TABLE_SOBOT_HOST = "sobot_host";
static final String TABLE_SERVICE_INFO = "sobot_service";
static final String TABLE_SERVICE_INFO = "sobot_service";//废弃
static final String TABLE_LOGIN_USER_INFO = "login_user_info";//登录信息表
static final String TABLE_LOGIN_USER_FUN_INFO = "login_user_fun_info";//权限表
static final Lock lock = new ReentrantLock();
......@@ -69,7 +70,6 @@ class SobotCommonDBHelper extends SQLiteOpenHelper {
"transferFunction INTEGER DEFAULT 1, " +
"face varchar(300), " +
"companyName varchar(300), " +
"appKey varchar(40), " +
"sid varchar(40), " +
"pu varchar(40), " +
"puid varchar(40), " +
......@@ -130,10 +130,10 @@ class SobotCommonDBHelper extends SQLiteOpenHelper {
switch (oldVersion) {
case 1:
String sql = "ALTER TABLE " + TABLE_LOGIN_USER
+ " ADD COLUMN " + LoginUserEntity.ACCESS_TOKEN + " VARCHAR(700)";
+ " ADD COLUMN " + SobotServiceInfoModel.ACCESS_TOKEN + " VARCHAR(700)";
db.execSQL(sql); // 登录表添加ACCESS_TOKEN
String sql1 = "ALTER TABLE " + TABLE_LOGIN_USER
+ " ADD COLUMN " + LoginUserEntity.LOGIN_TIME + " INTEGER";
+ " ADD COLUMN " + SobotServiceInfoModel.LOGIN_TIME + " INTEGER";
db.execSQL(sql1); // 登录表添加登录时间
break;
case 2:
......@@ -157,6 +157,62 @@ class SobotCommonDBHelper extends SQLiteOpenHelper {
+ " ADD COLUMN wslinkDefault VARCHAR(40)";
db.execSQL(sql6); // 登录表添加通道信息2
break;
case 5:
// 删除表的SQL语句
String LOGIN_USER_TABLE = "DROP TABLE IF EXISTS " + TABLE_LOGIN_USER;
db.execSQL(LOGIN_USER_TABLE);
// 删除表的SQL语句
String SERVICE_INFO_TABLE = "DROP TABLE IF EXISTS " + TABLE_SERVICE_INFO;
db.execSQL(SERVICE_INFO_TABLE);
String sql7 = "CREATE TABLE IF NOT EXISTS " + TABLE_LOGIN_USER_INFO + "(_id INTEGER PRIMARY KEY AUTOINCREMENT," +
"tempId VARCHAR(80)," +
"serviceNick VARCHAR(300)," +
"faceImg VARCHAR(300)," +
"maxAccept INTEGER," +
"blackFunction INTEGER DEFAULT 1," +
"transferFunction INTEGER DEFAULT 1, " +
"companyName VARCHAR(300), " +
"pu VARCHAR(40), " +
"puid VARCHAR(40), " +
"token VARCHAR(500), " +
"cusRoleName VARCHAR(200), " +
"centerNumber VARCHAR(40), " +
"accountStatus VARCHAR(2), " +
"imFlag INTEGER, " +
"cusRoleId INTEGER, " +
"status INTEGER DEFAULT 1, " +
"topFlag INTEGER, " +
"sortFlag INTEGER , " +
"fuseWork INTEGER , " +
"callV6Flag INTEGER , " +
"callV1Flag INTEGER , " +
"transferAuditFlag INTEGER , " +
"kbVersion INTEGER , " +
"robotVersion INTEGER , " +
"onlineVersion INTEGER , " +
"local_language VARCHAR(10) , " +
"serviceId VARCHAR(40)," +
"serviceName VARCHAR(600)," +
"newBossSwitch INTEGER," +
"region INTEGER," +
"serviceLanguage VARCHAR(12)," +
"phoneNo VARCHAR(20)," +
"globalPermissions VARCHAR(300)," +
"access_token VARCHAR(700)," +
"login_time INTEGER," +
"login_account VARCHAR(40)," +
"login_pwd VARCHAR(40)," +
"wslinkDefault VARCHAR(40)," +
"timezone VARCHAR(15)," +
"timezoneId VARCHAR(30)," +
"companyId VARCHAR(40))";
db.execSQL(sql7);
String sql8 = "CREATE TABLE IF NOT EXISTS " + TABLE_LOGIN_USER_FUN_INFO + "(_id INTEGER PRIMARY KEY AUTOINCREMENT," +
"id VARCHAR(20)," +
"checkedCode INTEGER," +
"code VARCHAR(40))";
db.execSQL(sql8);
break;
default:
break;
}
......
package com.sobot.common.login.model;
import com.sobot.gson.annotations.Expose;
import com.sobot.gson.annotations.SerializedName;
import java.io.Serializable;
import java.util.List;
//在线接口返回的客服信息
public class OnlineUserEntity implements Serializable {
private static final long serialVersionUID = 1L;
private String tempId; //客服temp-id
private int blackFunction = 1; //是否有拉黑权限 0 没有 1 有
private int transferFunction = 1; //是否有转接权限 0 没有 1 有
private int status; //账号状态 1正常0登录邮箱或密码不正确 2用户已在pc端登录
private String pu;
private String puid;
private int imFlag;//0是工单客服 1是在线客服
private int topFlag;//星标置顶 0不置顶 1置顶
private int sortFlag;//会话排序 0 按接入顺序 1 按新消息时间
private String centerNumber;//如果不为空,说明开通了呼叫功能
private int fuseWork;//1-存在融合工作台,使用新版服务总计 0-没有融合工作台
private int transferAuditFlag;//转接审核开关 0关闭 1开启
private String kbVersion;//智能回复,查询版本v6/v1
private String robotVersion;//机器人,查询版本v6/v1
private String onlineVersion;//在线,查询版本v6/v1
@Expose
@SerializedName("wslink.bak")
private List<String> wslinkBak;//通道地址
@Expose
@SerializedName("wslink.default")
private String wslinkDefault;//通道默认地址
public String getTempId() {
return tempId;
}
public void setTempId(String tempId) {
this.tempId = tempId;
}
public int getBlackFunction() {
return blackFunction;
}
public void setBlackFunction(int blackFunction) {
this.blackFunction = blackFunction;
}
public int getTransferFunction() {
return transferFunction;
}
public void setTransferFunction(int transferFunction) {
this.transferFunction = transferFunction;
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public String getPu() {
return pu;
}
public void setPu(String pu) {
this.pu = pu;
}
public String getPuid() {
return puid;
}
public void setPuid(String puid) {
this.puid = puid;
}
public int getImFlag() {
return imFlag;
}
public void setImFlag(int imFlag) {
this.imFlag = imFlag;
}
public int getTopFlag() {
return topFlag;
}
public void setTopFlag(int topFlag) {
this.topFlag = topFlag;
}
public int getSortFlag() {
return sortFlag;
}
public void setSortFlag(int sortFlag) {
this.sortFlag = sortFlag;
}
public String getCenterNumber() {
return centerNumber;
}
public void setCenterNumber(String centerNumber) {
this.centerNumber = centerNumber;
}
public int getFuseWork() {
return fuseWork;
}
public void setFuseWork(int fuseWork) {
this.fuseWork = fuseWork;
}
public int getTransferAuditFlag() {
return transferAuditFlag;
}
public void setTransferAuditFlag(int transferAuditFlag) {
this.transferAuditFlag = transferAuditFlag;
}
public String getKbVersion() {
return kbVersion;
}
public void setKbVersion(String kbVersion) {
this.kbVersion = kbVersion;
}
public List<String> getWslinkBak() {
return wslinkBak;
}
public void setWslinkBak(List<String> wslinkBak) {
this.wslinkBak = wslinkBak;
}
public String getWslinkDefault() {
return wslinkDefault;
}
public void setWslinkDefault(String wslinkDefault) {
this.wslinkDefault = wslinkDefault;
}
public String getRobotVersion() {
return robotVersion;
}
public void setRobotVersion(String robotVersion) {
this.robotVersion = robotVersion;
}
public String getOnlineVersion() {
return onlineVersion;
}
public void setOnlineVersion(String onlineVersion) {
this.onlineVersion = onlineVersion;
}
}
......@@ -6,6 +6,10 @@ import java.io.Serializable;
public class ServiceFunctionVoModel implements Serializable {
//旧版console权限标识
private String id;
//旧版console权限是否开启
private boolean checked;
//旧版console权限是否开启(入库使用) 0 没有,1开启 值从checked来
private int checkedCode;
//新版console权限标识
private String code;
//是否有子类权限
......@@ -38,12 +42,30 @@ public class ServiceFunctionVoModel implements Serializable {
this.hasChildren = hasChildren;
}
public boolean isChecked() {
return checked;
}
public void setChecked(boolean checked) {
this.checked = checked;
}
public int getCheckedCode() {
return checkedCode;
}
public void setCheckedCode(int checkedCode) {
this.checkedCode = checkedCode;
}
@Override
public String toString() {
return "SobotCusFunctionVoModel{" +
return "ServiceFunctionVoModel{" +
"id='" + id + '\'' +
"code='" + code + '\'' +
"cohasChildrende='" + hasChildren + '\'' +
", checked=" + checked +
", checkedCode=" + checkedCode +
", code='" + code + '\'' +
", hasChildren=" + hasChildren +
'}';
}
}
package com.sobot.common.login.model;
import java.io.Serializable;
/**
* 开放平台token
*/
public class TokenModel implements Serializable {
private static final long serialVersionUID = 1L;
private Token item;
private String ret_code;
private String ret_msg;
public Token getItem() {
return item;
}
public void setItem(Token item) {
this.item = item;
}
public String getRet_code() {
return ret_code;
}
public void setRet_code(String ret_code) {
this.ret_code = ret_code;
}
public String getRet_msg() {
return ret_msg;
}
public void setRet_msg(String ret_msg) {
this.ret_msg = ret_msg;
}
public class Token implements Serializable {
private static final long serialVersionUID = 1L;
//token编码
private String token;
//凭证有效时间 单位:秒
private String expires_in;
public String getToken() {
return token;
}
public void setToken(String token) {
this.token = token;
}
public String getExpires_in() {
return expires_in;
}
public void setExpires_in(String expires_in) {
this.expires_in = expires_in;
}
}
@Override
public String toString() {
return "OnlineTokenModel{" +
"item=" + item +
", ret_code='" + ret_code + '\'' +
", ret_msg='" + ret_msg + '\'' +
'}';
}
}
\ No newline at end of file
......@@ -3,10 +3,12 @@ package com.sobot.common.login.permission;
import android.text.TextUtils;
import com.sobot.common.login.SobotLoginTools;
import com.sobot.common.login.model.LoginUserEntity;
import com.sobot.common.login.db.FunctionManager;
import com.sobot.common.login.model.ServiceFunctionVoModel;
import com.sobot.common.login.model.SobotServiceInfoModel;
import java.util.List;
/**
* 权限管理类
*/
......@@ -26,8 +28,8 @@ public class SobotPermissionManager {
private static SobotPermissionApi getInstance() {
if (instance == null) {
if (SobotLoginTools.getInstance().getLoginUser() != null) {
switch (SobotLoginTools.getInstance().getLoginUser().getCusRoleId()) {
if (SobotLoginTools.getInstance().getServiceInfo() != null) {
switch (SobotLoginTools.getInstance().getServiceInfo().getCusRoleId()) {
case ONLINE_CUSTOMER_SERVICE://在线客服
instance = new PermissionOnLineCustomerService();
break;
......@@ -95,7 +97,22 @@ public class SobotPermissionManager {
public static final String USER_PERMISSION_TYPE_WORK_HISTORY = "1230";// 工单操作历史权限
public static final String USER_PERMISSION_TYPE_WORK_STATUS = "1231";// 工单状态 可见/不可见
/**
* 查看App客户中心
*/
public static String ADMIN_APP_TICKET_CUSTOMER_FUNCTION_CODE = "1611";
/**
* 拉黑权限编码
*/
public static String BLACK_FUNCTION_CODE = "220201";
/**
* 转接权限编码
*/
public static String TRANSFER_FUNCTION_CODE = "220202";
/**
* 客服自定义欢迎语权限编码
*/
public static String DIY_ADMIN_CONFIG_FUNCTION_CODE = "220204";
//会话
public static final String MODULE_CHAT = "module_chat";
......@@ -233,21 +250,21 @@ public class SobotPermissionManager {
public static final String SCC_DXRW_RWZJBJ = "scc-dxrw-rwzjbj";
//电销 电话条
public static final String SCC_DHT="scc-dht";
public static final String SCC_DHT = "scc-dht";
//修改绑定电话号码
public static final String SCC_DHT_XGBDDHHM="scc-dht-xgbddhhm";
public static final String SCC_DHT_XGBDDHHM = "scc-dht-xgbddhhm";
//修改分机账号
public static final String SCC_DHT_XGFJZH="scc-dht-xgfjzh";
public static final String SCC_DHT_XGFJZH = "scc-dht-xgfjzh";
//离线后自动解绑
public static final String SCC_DHT_LXHZDJB="scc-dht-lxhzdjb";
public static final String SCC_DHT_LXHZDJB = "scc-dht-lxhzdjb";
//保持和保持取消
public static final String SCC_DHT_BCHBCQX="scc-dht-bchbcqx";
public static final String SCC_DHT_BCHBCQX = "scc-dht-bchbcqx";
//静音和静音取消
public static final String SCC_DHT_JYHJYQX="scc-dht-jyhjyqx";
public static final String SCC_DHT_JYHJYQX = "scc-dht-jyhjyqx";
//延长整理时长
public static final String SCC_DHT_YCZLSC="scc-dht-yczlsc";
public static final String SCC_DHT_YCZLSC = "scc-dht-yczlsc";
//结束整理并置忙
public static final String SCC_DHT_JSZLBZM="scc-dht-jszlbzm";
public static final String SCC_DHT_JSZLBZM = "scc-dht-jszlbzm";
public static String getCodeByType(String type) {
if (!TextUtils.isEmpty(type)) {
......@@ -331,9 +348,15 @@ public class SobotPermissionManager {
}
}
} else {
LoginUserEntity customerServiceInfoModel = SobotLoginTools.getInstance().getLoginUser();
if (!TextUtils.isEmpty(type) && customerServiceInfoModel != null && customerServiceInfoModel.getTicketFunction() != null && customerServiceInfoModel.getTicketFunction().containsKey(type)) {
return customerServiceInfoModel.getTicketFunction().get(type);
List<ServiceFunctionVoModel> functionVoModelList = FunctionManager.getInstance().getFunctionVos();
if (!TextUtils.isEmpty(type) && functionVoModelList != null) {
for (int i = 0; i < functionVoModelList.size(); i++) {
ServiceFunctionVoModel cusFunctionVoModel = functionVoModelList.get(i);
if (getCodeByType(type).equals(cusFunctionVoModel.getId())) {
//1开启了 0 没有开启
return cusFunctionVoModel.getCheckedCode() == 1 ? true : false;
}
}
}
}
}
......
......@@ -12,7 +12,7 @@ task androidSourcesJar(type: Jar) {
ext {
PUBLISH_GROUP_ID = "com.sobot.library" //项目包名
PUBLISH_ARTIFACT_ID = 'widget_x' //项目名
PUBLISH_VERSION = '1.2.3' //版本号
PUBLISH_VERSION = '1.2.4' //版本号
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment