Commit d396b2a6 by 郭倩芳

1.7.7.1 客服添加离线逻辑

parent 137f7754
...@@ -13,6 +13,7 @@ import com.sobot.common.login.SobotLoginTools; ...@@ -13,6 +13,7 @@ import com.sobot.common.login.SobotLoginTools;
import com.sobot.common.login.callback.SobotResultBlock; import com.sobot.common.login.callback.SobotResultBlock;
import com.sobot.common.login.callback.SobotResultCode; import com.sobot.common.login.callback.SobotResultCode;
import com.sobot.common.utils.SobotImageUtils; import com.sobot.common.utils.SobotImageUtils;
import com.sobot.network.http.log.SobotNetLogUtils;
import com.sobot.pictureframe.SobotBitmapUtil; import com.sobot.pictureframe.SobotBitmapUtil;
import com.sobot.utils.SobotLogUtils; import com.sobot.utils.SobotLogUtils;
import com.sobot.utils.SobotSDCardUtils; import com.sobot.utils.SobotSDCardUtils;
...@@ -55,7 +56,6 @@ public class MainActivity extends SobotBaseActivity { ...@@ -55,7 +56,6 @@ public class MainActivity extends SobotBaseActivity {
img = findViewById(R.id.img); img = findViewById(R.id.img);
SobotBitmapUtil.display(this, "https://img.sobot.com/console/common/face/admin.png", img, R.mipmap.ic_launcher, R.mipmap.ic_launcher); SobotBitmapUtil.display(this, "https://img.sobot.com/console/common/face/admin.png", img, R.mipmap.ic_launcher, R.mipmap.ic_launcher);
img2 = findViewById(R.id.img2); img2 = findViewById(R.id.img2);
// img2.setScaleType(ImageView.ScaleType.FIT_XY); // 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"); // File save=new File(SobotSDCardUtils.getSDCardRootPath(MainActivity.this)+"/9410b53be86b4d589c61c60f6aee2461.jpeg");
...@@ -204,18 +204,18 @@ public class MainActivity extends SobotBaseActivity { ...@@ -204,18 +204,18 @@ public class MainActivity extends SobotBaseActivity {
// } // }
Map<String, Object> map1 = new HashMap<>(); Map<String, Object> map1 = new HashMap<>();
map1.put("loginStatus", "1");
map1.put("from", 2 + ""); map1.put("from", 2 + "");
map1.put("way", "10"); map1.put("way", "10");
map1.put("ack", "1"); map1.put("ack", "1");
map1.put("version", "3.3.1"); map1.put("version", "3.3.1");
// 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() { // SobotLoginTools.getInstance().doLogin(MainActivity.this, getSobotBaseContext(), true, "https://test-branche1.sobot.com/text", "https://test-branche1.sobot.com/text", "zhangxy@zhichi.com", "app123456", map1, new SobotResultBlock() {
// @Override // @Override
// public void resultBolok(SobotResultCode code, String msg, Object obj) { // public void resultBolok(SobotResultCode code, String msg, Object obj) {
// SobotLoginTools.getInstance().checkExpiresToken(); // SobotLoginTools.getInstance().checkExpiresToken();
// SobotLogUtils.i(SobotLoginTools.getInstance().getAccessToken() + ""); // SobotLogUtils.i(SobotLoginTools.getInstance().getAccessToken() + "");
// SobotLogUtils.i(SobotLoginTools.getInstance().getTempId()); // SobotLogUtils.i(SobotLoginTools.getInstance().getTempId());
// SobotLogUtils.i(SobotLoginTools.getInstance().getToken() + ""); // SobotLogUtils.i(SobotLoginTools.getInstance().getToken() + "");
// SobotLogUtils.i(SobotLoginTools.getInstance().getServiceInfo().getStatus() + "====登录状态======");
//// SobotLoginTools.getInstance().logOut(MainActivity.this, "https://test-branche1.sobot.com/text", "zhengnw@zhichi.com", new SobotResultBlock() { //// SobotLoginTools.getInstance().logOut(MainActivity.this, "https://test-branche1.sobot.com/text", "zhengnw@zhichi.com", new SobotResultBlock() {
//// @Override //// @Override
//// public void resultBolok(SobotResultCode code, String msg, Object obj) { //// public void resultBolok(SobotResultCode code, String msg, Object obj) {
...@@ -243,16 +243,16 @@ public class MainActivity extends SobotBaseActivity { ...@@ -243,16 +243,16 @@ public class MainActivity extends SobotBaseActivity {
// SobotServiceInfoModel ccc=new SobotServiceInfoModel(); // SobotServiceInfoModel ccc=new SobotServiceInfoModel();
// SobotLoginTools.getInstance().setServiceInfo(ccc); // SobotLoginTools.getInstance().setServiceInfo(ccc);
SobotLoginTools.getInstance().doLogin(MainActivity.this, MainActivity.this, true, "https://api-c.sobot.com/text", "https://api-c.sobot.com/tex", "zhengnw@zhichi.com", "znw123456", map1, new SobotResultBlock() { // SobotLoginTools.getInstance().doLogin(MainActivity.this, MainActivity.this, true, "https://api-c.sobot.com/text", "https://api-c.sobot.com/tex", "zhengnw@zhichi.com", "znw123456", map1, new SobotResultBlock() {
@Override // @Override
public void resultBolok(SobotResultCode code, String msg, Object obj) { // public void resultBolok(SobotResultCode code, String msg, Object obj) {
SobotLogUtils.i(code.name() + "---------------------------------------"); // SobotLogUtils.i(code.name() + "---------------------------------------");
SobotLoginTools.getInstance().checkExpiresToken(); // SobotLoginTools.getInstance().checkExpiresToken();
SobotLogUtils.i(SobotLoginTools.getInstance().getAccessToken() + ""); // SobotLogUtils.i(SobotLoginTools.getInstance().getAccessToken() + "");
SobotLogUtils.i(SobotLoginTools.getInstance().getTempId()); // SobotLogUtils.i(SobotLoginTools.getInstance().getTempId());
SobotLogUtils.i(SobotLoginTools.getInstance().getToken() + ""); // SobotLogUtils.i(SobotLoginTools.getInstance().getToken() + "");
} // }
}); // });
// Intent intent = new Intent(MainActivity.this, SobotWebViewActivity.class); // Intent intent = new Intent(MainActivity.this, SobotWebViewActivity.class);
// intent.putExtra("url", "https://www.sobot.com/ticketclient/index.html?sysNum=75574e5fa29a48458d1f57ab5489a4c5&deployId=442eb27d9c5c4ab9a3a21023f82207a9"); // intent.putExtra("url", "https://www.sobot.com/ticketclient/index.html?sysNum=75574e5fa29a48458d1f57ab5489a4c5&deployId=442eb27d9c5c4ab9a3a21023f82207a9");
//// 是否隐藏头部导航栏 默认false显示, true 隐藏 //// 是否隐藏头部导航栏 默认false显示, true 隐藏
......
...@@ -12,7 +12,7 @@ task androidSourcesJar(type: Jar) { ...@@ -12,7 +12,7 @@ task androidSourcesJar(type: Jar) {
ext { ext {
PUBLISH_GROUP_ID = "com.sobot.library" //项目包名 PUBLISH_GROUP_ID = "com.sobot.library" //项目包名
PUBLISH_ARTIFACT_ID = 'sobotcommon_x' //项目名 PUBLISH_ARTIFACT_ID = 'sobotcommon_x' //项目名
PUBLISH_VERSION = '1.7.7' //版本号 PUBLISH_VERSION = '1.7.7.1' //版本号
} }
......
...@@ -263,7 +263,7 @@ public class SobotLoginTools { ...@@ -263,7 +263,7 @@ public class SobotLoginTools {
tempUserEntity.setAccess_token(accessToken); tempUserEntity.setAccess_token(accessToken);
//判断是否有对话功能 //判断是否有对话功能
if (SobotPermissionManager.checkPermission(SobotPermissionApi.USER_PERMISSION_TYPE_TALK) && isAppOrOnlineLogin) { if (SobotPermissionManager.checkPermission(SobotPermissionApi.USER_PERMISSION_TYPE_TALK) && isAppOrOnlineLogin) {
doOnline(cancelTag, mContext, host, paramsMap, tempUserEntity, resultBlock); getAdminStatus(cancelTag, mContext, host, paramsMap, tempUserEntity, resultBlock);
} else { } else {
setServiceInfo(tempUserEntity); setServiceInfo(tempUserEntity);
SobotSharedPreferencesUtil.getInstance(mContext).put(SobotLoginConstant.SOBOT_LOGIN_USER_INFO, tempUserEntity); SobotSharedPreferencesUtil.getInstance(mContext).put(SobotLoginConstant.SOBOT_LOGIN_USER_INFO, tempUserEntity);
...@@ -288,7 +288,7 @@ public class SobotLoginTools { ...@@ -288,7 +288,7 @@ public class SobotLoginTools {
} else { } else {
//判断是否有对话功能 //判断是否有对话功能
if (SobotPermissionManager.checkPermission(SobotPermissionApi.USER_PERMISSION_TYPE_TALK) && isAppOrOnlineLogin) { if (SobotPermissionManager.checkPermission(SobotPermissionApi.USER_PERMISSION_TYPE_TALK) && isAppOrOnlineLogin) {
doOnline(cancelTag, mContext, host, paramsMap, serviceInfoModel, resultBlock); getAdminStatus(cancelTag, mContext, host, paramsMap, serviceInfoModel, resultBlock);
} else { } else {
setServiceInfo(serviceInfoModel); setServiceInfo(serviceInfoModel);
SobotSharedPreferencesUtil.getInstance(mContext).put(SobotLoginConstant.SOBOT_LOGIN_USER_INFO, serviceInfoModel); SobotSharedPreferencesUtil.getInstance(mContext).put(SobotLoginConstant.SOBOT_LOGIN_USER_INFO, serviceInfoModel);
...@@ -414,7 +414,7 @@ public class SobotLoginTools { ...@@ -414,7 +414,7 @@ public class SobotLoginTools {
tempUserEntity.setAccess_token(accessToken); tempUserEntity.setAccess_token(accessToken);
//判断是否有对话功能 //判断是否有对话功能
if (SobotPermissionManager.checkPermission(SobotPermissionApi.USER_PERMISSION_TYPE_TALK) && isAppOrOnlineLogin) { if (SobotPermissionManager.checkPermission(SobotPermissionApi.USER_PERMISSION_TYPE_TALK) && isAppOrOnlineLogin) {
doOnline(cancelTag, mContext, host, paramsMap, tempUserEntity, resultBlock); getAdminStatus(cancelTag, mContext, host, paramsMap, tempUserEntity, resultBlock);
} else { } else {
setServiceInfo(tempUserEntity); setServiceInfo(tempUserEntity);
SobotSharedPreferencesUtil.getInstance(mContext).put(SobotLoginConstant.SOBOT_LOGIN_USER_INFO, tempUserEntity); SobotSharedPreferencesUtil.getInstance(mContext).put(SobotLoginConstant.SOBOT_LOGIN_USER_INFO, tempUserEntity);
...@@ -439,7 +439,7 @@ public class SobotLoginTools { ...@@ -439,7 +439,7 @@ public class SobotLoginTools {
} else { } else {
//判断是否有对话功能 //判断是否有对话功能
if (SobotPermissionManager.checkPermission(SobotPermissionApi.USER_PERMISSION_TYPE_TALK) && isAppOrOnlineLogin) { if (SobotPermissionManager.checkPermission(SobotPermissionApi.USER_PERMISSION_TYPE_TALK) && isAppOrOnlineLogin) {
doOnline(cancelTag, mContext, host, paramsMap, serviceInfoModel, resultBlock); getAdminStatus(cancelTag, mContext, host, paramsMap, serviceInfoModel, resultBlock);
} else { } else {
setServiceInfo(serviceInfoModel); setServiceInfo(serviceInfoModel);
SobotSharedPreferencesUtil.getInstance(mContext).put(SobotLoginConstant.SOBOT_LOGIN_USER_INFO, serviceInfoModel); SobotSharedPreferencesUtil.getInstance(mContext).put(SobotLoginConstant.SOBOT_LOGIN_USER_INFO, serviceInfoModel);
...@@ -569,7 +569,7 @@ public class SobotLoginTools { ...@@ -569,7 +569,7 @@ public class SobotLoginTools {
tempUserEntity.setAccess_token(accessToken); tempUserEntity.setAccess_token(accessToken);
//判断是否有对话功能 //判断是否有对话功能
if (SobotPermissionManager.checkPermission(SobotPermissionApi.USER_PERMISSION_TYPE_TALK) && isAppOrOnlineLogin) { if (SobotPermissionManager.checkPermission(SobotPermissionApi.USER_PERMISSION_TYPE_TALK) && isAppOrOnlineLogin) {
doOnline(cancelTag, mContext, host, paramsMap, tempUserEntity, resultBlock); getAdminStatus(cancelTag, mContext, host, paramsMap, tempUserEntity, resultBlock);
} else { } else {
setServiceInfo(tempUserEntity); setServiceInfo(tempUserEntity);
SobotSharedPreferencesUtil.getInstance(mContext).put(SobotLoginConstant.SOBOT_LOGIN_USER_INFO, tempUserEntity); SobotSharedPreferencesUtil.getInstance(mContext).put(SobotLoginConstant.SOBOT_LOGIN_USER_INFO, tempUserEntity);
...@@ -594,7 +594,7 @@ public class SobotLoginTools { ...@@ -594,7 +594,7 @@ public class SobotLoginTools {
} else { } else {
//判断是否有对话功能 //判断是否有对话功能
if (SobotPermissionManager.checkPermission(SobotPermissionApi.USER_PERMISSION_TYPE_TALK) && isAppOrOnlineLogin) { if (SobotPermissionManager.checkPermission(SobotPermissionApi.USER_PERMISSION_TYPE_TALK) && isAppOrOnlineLogin) {
doOnline(cancelTag, mContext, host, paramsMap, serviceInfoModel, resultBlock); getAdminStatus(cancelTag, mContext, host, paramsMap, serviceInfoModel, resultBlock);
} else { } else {
setServiceInfo(serviceInfoModel); setServiceInfo(serviceInfoModel);
SobotSharedPreferencesUtil.getInstance(mContext).put(SobotLoginConstant.SOBOT_LOGIN_USER_INFO, serviceInfoModel); SobotSharedPreferencesUtil.getInstance(mContext).put(SobotLoginConstant.SOBOT_LOGIN_USER_INFO, serviceInfoModel);
...@@ -851,14 +851,16 @@ public class SobotLoginTools { ...@@ -851,14 +851,16 @@ public class SobotLoginTools {
} }
// 如果是智齿客服APP 或者客服SDK 并且有对话模块,需要请求在线逻辑接口 /**
public void doOnline(Object cancelTag, final Context context, String host, Map<String, Object> params, final SobotServiceInfoModel infoModel, final SobotResultBlock resultBlock) { * 如果是智齿客服APP 或者客服SDK 并且有对话模块,获取在线状态
*/
public void getAdminStatus(Object cancelTag, final Context context, String host, Map<String, Object> params, final SobotServiceInfoModel infoModel, final SobotResultBlock resultBlock) {
if (infoModel != null) { if (infoModel != null) {
Map<String, String> headerMap = new HashMap<>(); Map<String, String> headerMap = new HashMap<>();
headerMap.put("token", SobotStringUtils.checkStringIsNull(infoModel.getToken())); headerMap.put("token", SobotStringUtils.checkStringIsNull(infoModel.getToken()));
headerMap.put("language", SobotStringUtils.checkStringIsNull(infoModel.getServiceLanguage())); headerMap.put("language", SobotStringUtils.checkStringIsNull(infoModel.getServiceLanguage()));
headerMap.put("from", "2"); headerMap.put("from", "2");
SobotHttpUtils.doPost(cancelTag, host + "/chat-sdk/sdk/admin/v1/appLogin", 8000, params, headerMap, new HttpBaseUtils.StringCallBack() { SobotHttpUtils.doGet(cancelTag, host + "/chat-sdk/sdk/admin/v1/appEnter", 8000, params, headerMap, new HttpBaseUtils.StringCallBack() {
@Override @Override
public void onResponse(String result) { public void onResponse(String result) {
if (!SobotStringUtils.isEmpty(result)) { if (!SobotStringUtils.isEmpty(result)) {
...@@ -877,7 +879,11 @@ public class SobotLoginTools { ...@@ -877,7 +879,11 @@ public class SobotLoginTools {
tempServiceInfoModel.setKbVersion(SobotStringUtils.checkStringIsNull(userEntity.getKbVersion())); tempServiceInfoModel.setKbVersion(SobotStringUtils.checkStringIsNull(userEntity.getKbVersion()));
tempServiceInfoModel.setRobotVersion(SobotStringUtils.checkStringIsNull(userEntity.getRobotVersion())); tempServiceInfoModel.setRobotVersion(SobotStringUtils.checkStringIsNull(userEntity.getRobotVersion()));
tempServiceInfoModel.setOnlineVersion(SobotStringUtils.checkStringIsNull(userEntity.getOnlineVersion())); tempServiceInfoModel.setOnlineVersion(SobotStringUtils.checkStringIsNull(userEntity.getOnlineVersion()));
tempServiceInfoModel.setStatus(userEntity.getStatus()); if(userEntity.getStatus()==2){
tempServiceInfoModel.setStatus(userEntity.getStatusCode());
}else {
tempServiceInfoModel.setStatus(userEntity.getStatus());
}
tempServiceInfoModel.setFuseWork(userEntity.getFuseWork()); tempServiceInfoModel.setFuseWork(userEntity.getFuseWork());
tempServiceInfoModel.setWslinkBak(userEntity.getWslinkBak()); tempServiceInfoModel.setWslinkBak(userEntity.getWslinkBak());
tempServiceInfoModel.setTopFlag(userEntity.getTopFlag()); tempServiceInfoModel.setTopFlag(userEntity.getTopFlag());
......
...@@ -11,7 +11,8 @@ public class OnlineUserEntity implements Serializable { ...@@ -11,7 +11,8 @@ public class OnlineUserEntity implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private String tempId; //客服temp-id private String tempId; //客服temp-id
private int status; //账号状态 1正常0登录邮箱或密码不正确 2用户已在pc端登录 private int status; // 1:在线,0:离线,2:其他
private int statusCode; // 当status=2时,2-人工忙碌,3-人工小休,4-人工培训,5-人工会议,6-人工用餐,7-人工活动
private String pu; private String pu;
private String puid; private String puid;
private int imFlag;//0是工单客服 1是在线客服 private int imFlag;//0是工单客服 1是在线客服
...@@ -144,4 +145,12 @@ public class OnlineUserEntity implements Serializable { ...@@ -144,4 +145,12 @@ public class OnlineUserEntity implements Serializable {
public void setOnlineVersion(String onlineVersion) { public void setOnlineVersion(String onlineVersion) {
this.onlineVersion = onlineVersion; this.onlineVersion = onlineVersion;
} }
public int getStatusCode() {
return statusCode;
}
public void setStatusCode(int statusCode) {
this.statusCode = statusCode;
}
} }
...@@ -93,7 +93,7 @@ public class SobotServiceInfoModel implements Serializable { ...@@ -93,7 +93,7 @@ public class SobotServiceInfoModel implements Serializable {
private String tempId; //客服temp-id private String tempId; //客服temp-id
private int maxAccept; //最大接待量 private int maxAccept; //最大接待量
private int status; //账号状态 1正常0登录邮箱或密码不正确 2用户已在pc端登录 private int status; //1:在线,0:离线,2-人工忙碌,3-人工小休,4-人工培训,5-人工会议,6-人工用餐,7-人工活动
private String pu; private String pu;
private String puid; private String puid;
private String token; private String token;
......
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