Commit 9dcff60d by Future

更新deviceToken调整

parent fafab232
package com.wecloud.im.controller; package com.wecloud.im.controller;
import com.alibaba.fastjson.JSON;
import com.wecloud.im.entity.ImApplication; import com.wecloud.im.entity.ImApplication;
import com.wecloud.im.entity.ImClient; import com.wecloud.im.entity.ImClient;
import com.wecloud.im.param.ClientInfoParam; import com.wecloud.im.param.ClientInfoParam;
...@@ -93,8 +94,9 @@ public class ImClientController extends BaseController { ...@@ -93,8 +94,9 @@ public class ImClientController extends BaseController {
*/ */
@PostMapping("/addDeviceInfo") @PostMapping("/addDeviceInfo")
@ApiOperation(value = "添加或修改推送设备信息(每次请求都会覆盖之前的数据)") @ApiOperation(value = "添加或修改推送设备信息(每次请求都会覆盖之前的数据)")
public ApiResult<Boolean> addDeviceInfo(@Validated(Add.class) @RequestBody ClientDeviceUpdateParam imClientDevice) throws Exception { public ApiResult<Boolean> addDeviceInfo(@Validated(Add.class) @RequestBody ClientDeviceUpdateParam param) throws Exception {
boolean flag = imClientService.updateDeviceInfo(imClientDevice); log.info("添加或修改推送设备信息入参 {}", JSON.toJSONString(param));
boolean flag = imClientService.updateDeviceInfo(param);
return ApiResult.result(flag); return ApiResult.result(flag);
} }
......
...@@ -36,7 +36,6 @@ public class TokenController extends BaseController { ...@@ -36,7 +36,6 @@ public class TokenController extends BaseController {
@PostMapping("/verify") @PostMapping("/verify")
@ApiOperation(value = "根据sign申请token", notes = "校验客户方生成的签名字符串,验证通过则下发token") @ApiOperation(value = "根据sign申请token", notes = "校验客户方生成的签名字符串,验证通过则下发token")
public ApiResult<TokenVo> verify(@RequestBody ImTokenVerify imTokenVerify) throws NacosException { public ApiResult<TokenVo> verify(@RequestBody ImTokenVerify imTokenVerify) throws NacosException {
return imClientLoginService.verifySign(imTokenVerify); return imClientLoginService.verifySign(imTokenVerify);
} }
......
...@@ -65,6 +65,9 @@ public class UserService extends BaseServiceImpl<UserMapper, User> { ...@@ -65,6 +65,9 @@ public class UserService extends BaseServiceImpl<UserMapper, User> {
private ImClientService imClientService; private ImClientService imClientService;
@Autowired @Autowired
private ImClientDeviceService imClientDeviceService;
@Autowired
private ImFriendService imFriendService; private ImFriendService imFriendService;
@Autowired @Autowired
...@@ -150,6 +153,7 @@ public class UserService extends BaseServiceImpl<UserMapper, User> { ...@@ -150,6 +153,7 @@ public class UserService extends BaseServiceImpl<UserMapper, User> {
imClientDevice.setDeviceType(param.getDeviceType()); imClientDevice.setDeviceType(param.getDeviceType());
imClientDevice.setCreateTime(new Date()); imClientDevice.setCreateTime(new Date());
imClientDevice.setUpdateTime(new Date()); imClientDevice.setUpdateTime(new Date());
imClientDeviceService.save(imClientDevice);
} }
LoginSuccessDto loginSuccessDto = new LoginSuccessDto(); LoginSuccessDto loginSuccessDto = new LoginSuccessDto();
......
...@@ -32,6 +32,7 @@ import com.wecloud.im.service.ImClientService; ...@@ -32,6 +32,7 @@ import com.wecloud.im.service.ImClientService;
import com.wecloud.im.vo.ClientInfoVo; import com.wecloud.im.vo.ClientInfoVo;
import com.wecloud.im.vo.GetInfoListVo; import com.wecloud.im.vo.GetInfoListVo;
import com.wecloud.im.vo.MyInfoVo; import com.wecloud.im.vo.MyInfoVo;
import com.wecloud.utils.SnowflakeUtil;
import io.geekidea.springbootplus.framework.common.api.ApiResult; import io.geekidea.springbootplus.framework.common.api.ApiResult;
import io.geekidea.springbootplus.framework.common.exception.BusinessException; import io.geekidea.springbootplus.framework.common.exception.BusinessException;
import io.geekidea.springbootplus.framework.common.service.impl.BaseServiceImpl; import io.geekidea.springbootplus.framework.common.service.impl.BaseServiceImpl;
...@@ -49,6 +50,7 @@ import org.springframework.cache.annotation.Cacheable; ...@@ -49,6 +50,7 @@ import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
...@@ -220,13 +222,26 @@ public class ImClientServiceImpl extends BaseServiceImpl<ImClientMapper, ImClien ...@@ -220,13 +222,26 @@ public class ImClientServiceImpl extends BaseServiceImpl<ImClientMapper, ImClien
JwtToken currentJwtToken = JwtUtil.getCurrentJwtToken(); JwtToken currentJwtToken = JwtUtil.getCurrentJwtToken();
imClientDeviceService.removeOldToken(currentClient.getId(), currentJwtToken.getToken()); imClientDeviceService.removeOldToken(currentClient.getId(), currentJwtToken.getToken());
} }
// 修改 ImClientDevice clientDeviceToUpdate = imClientDeviceService.getOne(new QueryWrapper<ImClientDevice>().lambda()
return imClientDeviceService.update(new UpdateWrapper<ImClientDevice>().lambda()
.eq(ImClientDevice::getFkAppid, currentClient.getFkAppid()) .eq(ImClientDevice::getFkAppid, currentClient.getFkAppid())
.eq(ImClientDevice::getFkClientId, currentClient.getId()) .eq(ImClientDevice::getFkClientId, currentClient.getId())
.eq(ImClientDevice::getDeviceType, param.getDeviceType()) .eq(ImClientDevice::getDeviceType, param.getDeviceType())
.set(ImClientDevice::getDeviceToken, param.getDeviceToken())
); );
if (clientDeviceToUpdate == null) {
ImClientDevice imClientDevice = new ImClientDevice();
imClientDevice.setId(SnowflakeUtil.getId());
imClientDevice.setFkAppid(currentClient.getFkAppid());
imClientDevice.setFkClientId(currentClient.getId());
imClientDevice.setValid(1);
imClientDevice.setDeviceType(param.getDeviceType());
imClientDevice.setCreateTime(new Date());
imClientDevice.setUpdateTime(new Date());
imClientDeviceService.save(imClientDevice);
} else {
clientDeviceToUpdate.setDeviceToken(param.getDeviceToken());
imClientDeviceService.updateById(clientDeviceToUpdate);
}
return true;
} }
@Override @Override
......
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