Upd:还原代码

master
duLingLing 5 years ago
commit 9381883a7c

@ -4,6 +4,7 @@ import au.com.royalpay.payment.manage.appclient.beans.RetailLoginInfo;
import au.com.royalpay.payment.manage.appclient.core.ManageAppService;
import au.com.royalpay.payment.manage.appclient.core.RetailAppService;
import au.com.royalpay.payment.manage.application.core.SimpleClientApplyService;
import au.com.royalpay.payment.manage.device.core.DeviceManager;
import au.com.royalpay.payment.manage.merchants.core.ClientManager;
import au.com.royalpay.payment.manage.signin.beans.LoginInfo;
import au.com.royalpay.payment.manage.signin.core.SignInStatusManager;
@ -61,6 +62,8 @@ public class RetailValidationController implements ApplicationEventPublisherAwar
private ApplicationEventPublisher publisher;
@Resource
private ManageAppService manageAppService;
@Resource
private DeviceManager deviceManager;
@Override
public void setApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher) {
@ -95,6 +98,7 @@ public class RetailValidationController implements ApplicationEventPublisherAwar
client = JSON.parseObject(client.toJSONString());
if (loginInfo.getDevId() != null) {
deviceSupport.validDeviceWithClient(client, loginInfo.getDevId());
deviceManager.offlineNotCurrentUserByDevIdAndAccountId(loginInfo.getDevId(),client.getString("account_id"));
}
client.put("sign_key", signKey);
return client;
@ -219,7 +223,10 @@ public class RetailValidationController implements ApplicationEventPublisherAwar
result.put("account",account);
result.put("status","success");
result.put("bind_status", true);
if (params.getString("devId") != null) {
deviceSupport.validDeviceWithClient(account, params.getString("devId"));
deviceManager.offlineNotCurrentUserByDevIdAndAccountId(params.getString("devId"),account.getString("account_id"));
}
this.publisher.publishEvent(new ClientLoginEvent(this, account.getIntValue("client_id"), account.getString("account_id"), RequestEnvironment.getClientIp(), "MOBILE"));
}else{
result.put("status","success");
@ -254,9 +261,6 @@ public class RetailValidationController implements ApplicationEventPublisherAwar
account = JSON.parseObject(account.toJSONString());
JSONObject result = new JSONObject();
result.put("account",account);
if (params.getString("devId") != null) {
deviceSupport.validDeviceWithClient(account, params.getString("devId"));
}
result.put("bind_status", true);
this.publisher.publishEvent(new ClientLoginEvent(this, account.getIntValue("client_id"), account.getString("account_id"), RequestEnvironment.getClientIp(), "MOBILE"));
return result;
@ -276,6 +280,10 @@ public class RetailValidationController implements ApplicationEventPublisherAwar
deviceSupport.validDeviceWithClient(account, params.getString("app_openid"));
return account;
}
if (params.getString("devId") != null) {
deviceSupport.validDeviceWithClient(account, params.getString("devId"));
deviceManager.offlineNotCurrentUserByDevIdAndAccountId(params.getString("devId"),account.getString("account_id"));
}
this.publisher.publishEvent(new ClientLoginEvent(this, account.getJSONObject("account").getIntValue("client_id"), account.getJSONObject("account").getString("account_id"), RequestEnvironment.getClientIp(), "wechat"));
return account;
}
@ -297,9 +305,6 @@ public class RetailValidationController implements ApplicationEventPublisherAwar
params.put("union_id",wechatInfo.getString("union_id"));
retailAppService.updateLoginClientAccountOpenId(account,params);
account = JSON.parseObject(account.toJSONString());
if (params.getString("devId") != null) {
deviceSupport.validDeviceWithClient(account, params.getString("devId"));
}
JSONObject result = new JSONObject();
account.put("sign_key", signKey);
result.put("account",account);

@ -17,4 +17,12 @@ public interface DeviceManager {
void deviceOffline(String accountId);
JSONObject listDevOrders(JSONObject manager, String devId, TradeLogQuery query);
/**
* 线
* @param devId
* @param accountId
*/
void offlineNotCurrentUserByDevIdAndAccountId(String devId,String accountId);
}

@ -118,4 +118,17 @@ public class DeviceManagerImp implements DeviceManager {
return result;
}
/**
* 线
* @param devId
* @param accountId
*/
@Override
public void offlineNotCurrentUserByDevIdAndAccountId(String devId, String accountId) {
//离线当前设备非当前用户
clientDeviceMapper.updateByDevIdAndAccountId(devId,accountId);
//离线当前用户以前登录的设备
clientDeviceMapper.updateAccountIdAndByDevId(devId,accountId);
}
}

@ -45,4 +45,8 @@ public interface ClientDeviceMapper {
PageList<JSONObject> listDevices(JSONObject params, PageBounds pagination);
void deviceOffline(@Param("account_id") String accountId);
void updateByDevIdAndAccountId(@Param("client_dev_id") String devId, @Param("account_id")String accountId);
void updateAccountIdAndByDevId(@Param("client_dev_id") String devId, @Param("account_id")String accountId);
}

@ -55,4 +55,20 @@
where
account_id = #{account_id}
</update>
<update id="updateByDevIdAndAccountId">
UPDATE sys_clients_devices device
LEFT JOIN sys_clients_devices_token dtoken
ON device.dev_id = dtoken.dev_id
SET device.is_offline = 1,dtoken.is_valid=0
WHERE device.client_dev_id = #{client_dev_id} AND device.account_id != #{account_id}
</update>
<update id="updateAccountIdAndByDevId">
UPDATE sys_clients_devices device
LEFT JOIN sys_clients_devices_token dtoken
ON device.dev_id = dtoken.dev_id
SET device.is_offline = 1,dtoken.is_valid=0
WHERE device.client_dev_id != #{client_dev_id} AND device.account_id = #{account_id}
</update>
</mapper>
Loading…
Cancel
Save