Browse Source

用户手机号修改

master
caojianbin 4 months ago
parent
commit
3d39f38732
  1. 19
      ecell-internationalize/ecell-internationalize-app/src/main/java/com/ecell/internationalize/app/controller/DeviceDisableAppController.java
  2. 67
      ecell-internationalize/ecell-internationalize-app/src/main/java/com/ecell/internationalize/app/controller/UserController.java
  3. 2
      ecell-internationalize/ecell-internationalize-app/src/main/java/com/ecell/internationalize/app/entity/dto/UpdateUserDto.java
  4. 7
      ecell-internationalize/ecell-internationalize-app/src/main/java/com/ecell/internationalize/app/service/UserService.java
  5. 46
      ecell-internationalize/ecell-internationalize-app/src/main/java/com/ecell/internationalize/app/service/impl/BindingDeviceImpl.java
  6. 302
      ecell-internationalize/ecell-internationalize-app/src/main/java/com/ecell/internationalize/app/service/impl/UserServiceImpl.java
  7. 6
      ecell-internationalize/ecell-internationalize-app/src/main/resources/i18n/messages_en_US.properties
  8. 6
      ecell-internationalize/ecell-internationalize-app/src/main/resources/i18n/messages_zh_CN.properties
  9. 6
      ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/constant/FieldConstant.java
  10. 2
      ecell-internationalize/ecell-internationalize-common/ecell-internationalize-issue/src/main/java/com/ecell/internationalize/common/issue/component/IssueInstructions.java
  11. 15
      ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/controller/PositioningModelInfoController.java
  12. 2
      ecell-internationalize/ecell-internationalize-system/src/main/resources/i18n/messages_en_US.properties
  13. 4
      ecell-internationalize/ecell-internationalize-system/src/main/resources/i18n/messages_zh_CN.properties

19
ecell-internationalize/ecell-internationalize-app/src/main/java/com/ecell/internationalize/app/controller/DeviceDisableAppController.java

@ -12,6 +12,8 @@ import com.ecell.internationalize.app.service.DeviceDisableAppService; @@ -12,6 +12,8 @@ import com.ecell.internationalize.app.service.DeviceDisableAppService;
import com.ecell.internationalize.app.util.I18nUtil;
import com.ecell.internationalize.common.core.entity.Rest;
import com.ecell.internationalize.common.core.utils.uuid.UUID;
import com.ecell.internationalize.common.issue.constant.CommonConstant;
import com.ecell.internationalize.common.redis.service.RedisService;
import com.ecell.internationalize.common.system.constant.FieldConstant;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -37,6 +39,8 @@ import java.util.List; @@ -37,6 +39,8 @@ import java.util.List;
public class DeviceDisableAppController {
@Autowired
private DeviceDisableAppService deviceDisableAppService;
@Autowired
private RedisService redisService;
@ApiOperation(value ="查询上课禁用的闹钟")
@GetMapping("/query/disabled")
@ -53,7 +57,7 @@ public class DeviceDisableAppController { @@ -53,7 +57,7 @@ public class DeviceDisableAppController {
//1.查询设置的闹钟个数
int count = deviceDisableAppService.getBaseMapper().selectCount(queryWrapper);
if (count>=3){
return Rest.fail(I18nUtil.getMessage(FieldConstant.ALARM_CLOCK_NUMBER,request.getHeader("Accept-Language")));
return Rest.fail(I18nUtil.getMessage(FieldConstant.DISABLE_CLASS_NUMBER,request.getHeader("Accept-Language")));
}
DeviceDisableApp deviceDisableApp=new DeviceDisableApp();
String id = UUID.randomUUID().toString(true);
@ -112,9 +116,16 @@ public class DeviceDisableAppController { @@ -112,9 +116,16 @@ public class DeviceDisableAppController {
@ApiOperation(value ="查找手表")
@GetMapping("/find/queryDevice")
public Rest queryDevice(HttpServletRequest request,@ApiParam(value = "设备imei号") String imei) {
//1.开始下发查找手表指令
deviceDisableAppService.findToKafka(imei);
return Rest.ok(I18nUtil.getMessage(FieldConstant.MESSAGES_SUCCESS,request.getHeader("Accept-Language")));
String onlineStatus = redisService.getCacheMapValue(imei, "onlineStatus");
if(CommonConstant.AUDIT_STATUS_ONE.equals(onlineStatus)){
//1.开始下发查找手表指令
deviceDisableAppService.findToKafka(imei);
return Rest.ok(I18nUtil.getMessage(FieldConstant.MESSAGES_SUCCESS,request.getHeader("Accept-Language")));
}else {
return Rest.fail( I18nUtil.getMessage(FieldConstant.QUERY_DEVICE_ERROR,request.getHeader("Accept-Language")));
}
}
}

67
ecell-internationalize/ecell-internationalize-app/src/main/java/com/ecell/internationalize/app/controller/UserController.java

@ -248,7 +248,6 @@ public class UserController { @@ -248,7 +248,6 @@ public class UserController {
if (StringUtils.isEmpty(userDto.getEmail())){
userDto.setEmail(SecurityContextHolder.getUserName());
}
logger.info("修改密码邮箱===:"+userDto.getEmail());
//1.根据email查询当前登陆用户
LambdaQueryWrapper<User> lambdaQueryWrapper=new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(User::getUserEmail,userDto.getEmail());
@ -265,9 +264,6 @@ public class UserController { @@ -265,9 +264,6 @@ public class UserController {
return Rest.fail(I18nUtil.getMessage(FieldConstant.OLD_PASSWORD_ERROR,request.getHeader("Accept-Language")));
}
//对新密码进行加密
String encryptPassword = SecurityUtils.encryptPassword(userDto.getPassword());
user.setPassword(encryptPassword);
@ -279,6 +275,15 @@ public class UserController { @@ -279,6 +275,15 @@ public class UserController {
// /**
// * 查看个人资料 20241227注释掉
// */
// @ApiOperation("查看个人资料")
// @GetMapping("send/query")
// public Rest<UserVo> queryUsers(HttpServletRequest request, @ApiParam(name ="imei",value = "设备imei") String imei) {
// return Rest.ok(userService.queryUser(SecurityContextHolder.getStringUserId(),imei));
// }
/**
* 查看个人资料
*/
@ -287,19 +292,42 @@ public class UserController { @@ -287,19 +292,42 @@ public class UserController {
public Rest<UserVo> queryUsers(HttpServletRequest request, @ApiParam(name ="imei",value = "设备imei") String imei) {
return Rest.ok(userService.queryUser(SecurityContextHolder.getStringUserId(),imei));
}
/**
* 修改账号信息 20241227注释
*/
// @ApiOperation("修改账号信息")
// @PostMapping("send/updateInfo")
// public Rest<UserVo> updateInfo(MultipartFile file, UpdateUserDto user, HttpServletRequest request) throws IOException {
// String userId= SecurityContextHolder.getStringUserId();
// LambdaQueryWrapper<UserDeviceBindApp> lambdaQueryWrapper=new LambdaQueryWrapper<>();
// lambdaQueryWrapper.eq(UserDeviceBindApp::getPhone,user.getPhone());
// List<UserDeviceBindApp> userDeviceBindApp = userDeviceBindService.getBaseMapper().selectList(lambdaQueryWrapper);
// if (!CollectionUtils.isEmpty(userDeviceBindApp) && !userId.equals(userDeviceBindApp.get(0).getUserId())){
// return Rest.fail(user.getPhone()+""+I18nUtil.getMessage(CommonConstant.PHONE_HAS_EXIT,request.getHeader("Accept-Language")));
// }
//
// if (null!=file){
// System.out.println("头像文件不为空");
// System.out.println("文件file:"+file.getOriginalFilename());
// String path = UploadUtil.upload(file);
// user.setImage(path);
// }
// userService.updateData(user);
// return Rest.ok(userService.queryUser(SecurityContextHolder.getStringUserId(),user.getImei()));
// }
/**
* 修改账号信息
* 修改账号信息 20241227修改
*/
@ApiOperation("修改账号信息")
@PostMapping("send/updateInfo")
public Rest<UserVo> updateInfo(MultipartFile file, UpdateUserDto user, HttpServletRequest request) throws IOException {
String userId= SecurityContextHolder.getStringUserId();
LambdaQueryWrapper<UserDeviceBindApp> lambdaQueryWrapper=new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(UserDeviceBindApp::getPhone,user.getPhone());
List<UserDeviceBindApp> userDeviceBindApp = userDeviceBindService.getBaseMapper().selectList(lambdaQueryWrapper);
if (!CollectionUtils.isEmpty(userDeviceBindApp) && !userId.equals(userDeviceBindApp.get(0).getUserId())){
return Rest.fail(user.getPhone()+""+I18nUtil.getMessage(CommonConstant.PHONE_HAS_EXIT,request.getHeader("Accept-Language")));
}
public Rest<User> updateInfo(MultipartFile file, UpdateUserDto user, HttpServletRequest request) throws IOException {
if (null!=file){
System.out.println("头像文件不为空");
@ -307,9 +335,18 @@ public class UserController { @@ -307,9 +335,18 @@ public class UserController {
String path = UploadUtil.upload(file);
user.setImage(path);
}
userService.updateData(user);
return Rest.ok(userService.queryUser(SecurityContextHolder.getStringUserId(),user.getImei()));
return Rest.ok( userService.updateData(user));
}
/**
* 退出登录
*/

2
ecell-internationalize/ecell-internationalize-app/src/main/java/com/ecell/internationalize/app/entity/dto/UpdateUserDto.java

@ -15,7 +15,7 @@ public class UpdateUserDto { @@ -15,7 +15,7 @@ public class UpdateUserDto {
@ApiModelProperty(example = "姓名")
private String name;
@ApiModelProperty(example = "设备imei号")
@ApiModelProperty(hidden = true)
private String imei;
@ApiModelProperty(example = "手机号")
private String phone;

7
ecell-internationalize/ecell-internationalize-app/src/main/java/com/ecell/internationalize/app/service/UserService.java

@ -36,9 +36,10 @@ public interface UserService extends IService<User> { @@ -36,9 +36,10 @@ public interface UserService extends IService<User> {
*/
Map<String, Object> createToken(User user,String osName,String deviceToken,String packages,String version);
UserVo queryUser(String userId, String imei);
int updateData(UpdateUserDto user);
// UserVo queryUser(String userId, String imei);
UserVo queryUser(String userId, String imei);
// int updateData(UpdateUserDto user);
User updateData(UpdateUserDto user);
void getSystemToken(String type, String token);
}

46
ecell-internationalize/ecell-internationalize-app/src/main/java/com/ecell/internationalize/app/service/impl/BindingDeviceImpl.java

@ -18,6 +18,7 @@ import com.ecell.internationalize.app.util.I18nUtil; @@ -18,6 +18,7 @@ import com.ecell.internationalize.app.util.I18nUtil;
import com.ecell.internationalize.app.util.LocationUtil;
import com.ecell.internationalize.common.core.context.SecurityContextHolder;
import com.ecell.internationalize.common.core.exception.ServiceException;
import com.ecell.internationalize.common.core.utils.SpringUtils;
import com.ecell.internationalize.common.core.utils.StringUtils;
import com.ecell.internationalize.common.core.utils.bean.BeanUtils;
import com.ecell.internationalize.common.core.utils.uuid.UUID;
@ -392,6 +393,15 @@ public class BindingDeviceImpl implements BindingDevice { @@ -392,6 +393,15 @@ public class BindingDeviceImpl implements BindingDevice {
// memberApp.setGroupId(groupId);
//============================================================
//更新用户信息表,把手机号码也更新 20241227新增
UserService userService = SpringUtils.getBean(UserService.class);
User user = userService.getBaseMapper().selectById(userId);
if (StringUtils.isNotNull(user)){
if (!user.getPhone().equals(dto.getMy_phone())){
user.setPhone(dto.getMy_phone());
userService.getBaseMapper().updateById(user);
}
}
//============================================================
@ -447,7 +457,7 @@ public class BindingDeviceImpl implements BindingDevice { @@ -447,7 +457,7 @@ public class BindingDeviceImpl implements BindingDevice {
* @param
* @return
*/
private UserDeviceBindApp queryByPhone(String userId, String phone) {
public UserDeviceBindApp queryByPhone(String userId, String phone) {
QueryWrapper<UserDeviceBindApp> wrapper = new QueryWrapper();
wrapper.eq("phone", phone);
wrapper.ne("user_id", userId);
@ -456,6 +466,25 @@ public class BindingDeviceImpl implements BindingDevice { @@ -456,6 +466,25 @@ public class BindingDeviceImpl implements BindingDevice {
}
// /**
// * 查询同一imei 用户手机号码是否被其他用户绑定
// *
// * @param
// * @return
// */
// private UserDeviceBindApp queryByPhoneAndImei(String imei, String phone) {
// QueryWrapper<UserDeviceBindApp> wrapper = new QueryWrapper();
// wrapper.eq("phone", phone);
// wrapper.ne("imei", imei);
// wrapper.last("LIMIT 1");
// return userDeviceBindService.getBaseMapper().selectOne(wrapper);
//
// }
/**
* 设备绑定成功之后推送消息给管理员(申请关注)
*
@ -476,6 +505,8 @@ public class BindingDeviceImpl implements BindingDevice { @@ -476,6 +505,8 @@ public class BindingDeviceImpl implements BindingDevice {
if (StringUtils.isNotNull(userDeviceBindApp)) {
throw new ServiceException("messagesIsPhoneBound");
}
//判断该用户绑定的数量是否超过限制(最大6个)
if (this.queryBindingDeviceNumber(applyFollowDto.getImei()) > CommonConstant.NUMBER_FIVE) {
// throw new ServiceException("您已经添加申请了6个设备不能在添加其它设备");
@ -825,6 +856,14 @@ public class BindingDeviceImpl implements BindingDevice { @@ -825,6 +856,14 @@ public class BindingDeviceImpl implements BindingDevice {
if (!StringUtils.isNotNull(user)) {
throw new ServiceException("messagesUserDoesNotExist");
}
/******************20241227新增***********************/
if (!user.getPhone().equals(dto.getPhone())){
//更新用户表的手机号码
user.setPhone(dto.getPhone());
userMapper.updateById(user);
}
/******************20241227新增***********************/
bindApp.setUserEmail(user.getUserEmail());
//======================================================//
//通讯录表初始化 只有管理员才添加到通讯录中 申请关注的人要去审核通过才能添加通讯录中
@ -892,6 +931,11 @@ public class BindingDeviceImpl implements BindingDevice { @@ -892,6 +931,11 @@ public class BindingDeviceImpl implements BindingDevice {
flag = userDeviceBindService.save(bindApp);
flag = chatGroupMemberAppService.save(memberApp);
if (flag) {
//下发通讯
addressBookAppService.sendToKafka(dto.getImei());

302
ecell-internationalize/ecell-internationalize-app/src/main/java/com/ecell/internationalize/app/service/impl/UserServiceImpl.java

@ -10,10 +10,14 @@ import com.ecell.internationalize.app.entity.dto.UserDto; @@ -10,10 +10,14 @@ import com.ecell.internationalize.app.entity.dto.UserDto;
import com.ecell.internationalize.app.mapper.AddressBookAppMapper;
import com.ecell.internationalize.app.mapper.UserDeviceBindAppMapper;
import com.ecell.internationalize.app.mapper.UserMapper;
import com.ecell.internationalize.app.service.UserDeviceBindService;
import com.ecell.internationalize.app.service.UserService;
import com.ecell.internationalize.common.core.constant.SecurityConstants;
import com.ecell.internationalize.common.core.context.SecurityContextHolder;
import com.ecell.internationalize.common.core.exception.ServiceException;
import com.ecell.internationalize.common.core.utils.JwtUtils;
import com.ecell.internationalize.common.core.utils.SpringUtils;
import com.ecell.internationalize.common.core.utils.StringUtils;
import com.ecell.internationalize.common.core.utils.uuid.IdUtils;
import com.ecell.internationalize.common.core.utils.uuid.UUID;
import com.ecell.internationalize.common.issue.constant.CommonConstant;
@ -28,8 +32,10 @@ import org.springframework.stereotype.Service; @@ -28,8 +32,10 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
/**
* <p>
@ -54,12 +60,13 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us @@ -54,12 +60,13 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
private BindingDeviceImpl bindingDevice;
private static final long EXPIRATION = 30;
public final static String APP_TOKEN_KEY = "app_tokens:";
@Override
@Transactional(rollbackFor = Exception.class)
public int insertUser(UserDto userDto) {
//对密码进行加密
String encryptPassword = SecurityUtils.encryptPassword(userDto.getPassword());
User user=new User();
User user = new User();
String userId = UUID.randomUUID().toString(true);
user.setUserId(userId);
//默认姓名为邮箱
@ -69,18 +76,20 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us @@ -69,18 +76,20 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
user.setUserAgent(userDto.getUserAgent());
// UserDeviceBindApp userDeviceBindApp = insertData(user);
// userDeviceBindAppMapper.insert(userDeviceBindApp);
return userMapper.insert(user);
return userMapper.insert(user);
}
/**
* token生成
*
* @param user
* @return int
* @Title: UserService
* @Author: liy
* @Date: 2022/8/17 15:03
* @return int
* @param user
*/
@Override
public Map<String, Object> createToken(User user,String osName,String deviceToken,String packages,String version) {
public Map<String, Object> createToken(User user, String osName, String deviceToken, String packages, String version) {
//修改登录机型
user.setUserAgent(osName);
userMapper.updateById(user);
@ -96,118 +105,228 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us @@ -96,118 +105,228 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
// 接口返回信息
Map<String, Object> rspMap = new HashMap<>(16);
rspMap.put("Authorization", user.getToken());
rspMap.put("expires_in",EXPIRATION);
rspMap.put("expires_in", EXPIRATION);
rspMap.put("openid", user.getUserId());
System.out.println("成功返回登录信息:"+rspMap);
System.out.println("成功返回登录信息:" + rspMap);
//IOS deviceToken存入redis
if ("iOS".equals(osName)){
logger.info("iOS机型,获取IOS的token并存入redis:{}",deviceToken);
if(null!=deviceToken && !"".equals(deviceToken)) {
logger.info("iOS机型,获取IOS的token并存入redis:{}",deviceToken);
if ("iOS".equals(osName)) {
logger.info("iOS机型,获取IOS的token并存入redis:{}", deviceToken);
if (null != deviceToken && !"".equals(deviceToken)) {
logger.info("iOS机型,获取IOS的token并存入redis:{}", deviceToken);
redisService.setCacheMapValue(user.getUserId(), CommonConstant.DEVICE_TOKEN, deviceToken);
}else {
} else {
logger.info("苹果手机拒绝接收通知,token存入空");
redisService.setCacheMapValue(user.getUserId(), CommonConstant.DEVICE_TOKEN, null);
}
redisService.setCacheMapValue(user.getUserId(), CommonConstant.IOS_PACKAGE,packages);
redisService.setCacheMapValue(user.getUserId(), CommonConstant.IOS_VERSION,version);
redisService.setCacheMapValue(user.getUserId(), CommonConstant.IOS_PACKAGE, packages);
redisService.setCacheMapValue(user.getUserId(), CommonConstant.IOS_VERSION, version);
}
return rspMap;
}
// @Override 20241227 废弃
// public UserVo queryUser(String userId, String imei) {
// String phone="";
// //查询到的用户信息
// UserVo userVo = userMapper.queryUser(userId);
// //查询用户与设备绑定信息,获取手机号
// LambdaQueryWrapper<UserDeviceBindApp> lambdaQueryWrapper=new LambdaQueryWrapper<>();
// lambdaQueryWrapper.eq(UserDeviceBindApp::getImei,imei);
// lambdaQueryWrapper.eq(UserDeviceBindApp::getUserId,userId);
// UserDeviceBindApp userDeviceBindApp = userDeviceBindAppMapper.selectOne(lambdaQueryWrapper);
// if (null != userDeviceBindApp){
// phone = userDeviceBindApp.getPhone();
// }
// userVo.setPhone(phone);
// userVo.setImei(imei);
// if (null == userVo.getName() || "".equals(userVo.getName())){
// userVo.setName(SecurityContextHolder.getUserName());
// }
// return userVo;
// }
// @Override 20241227 废弃
// public UserVo queryUser(String userId, String imei) {
// String phone = "";
// //查询到的用户信息
// UserVo userVo = userMapper.queryUser(userId);
// //查询用户与设备绑定信息,获取手机号
// LambdaQueryWrapper<UserDeviceBindApp> lambdaQueryWrapper = new LambdaQueryWrapper<>();
// lambdaQueryWrapper.eq(UserDeviceBindApp::getImei, imei);
// lambdaQueryWrapper.eq(UserDeviceBindApp::getUserId, userId);
// UserDeviceBindApp userDeviceBindApp = userDeviceBindAppMapper.selectOne(lambdaQueryWrapper);
// if (null != userDeviceBindApp) {
// phone = userDeviceBindApp.getPhone();
// }
// userVo.setPhone(phone);
// userVo.setImei(imei);
// if (null == userVo.getName() || "".equals(userVo.getName())) {
// userVo.setName(SecurityContextHolder.getUserName());
// }
// return userVo;
// }
@Override
public UserVo queryUser(String userId, String imei) {
String phone="";
//查询到的用户信息
UserVo userVo = userMapper.queryUser(userId);
//查询用户与设备绑定信息,获取手机号
LambdaQueryWrapper<UserDeviceBindApp> lambdaQueryWrapper=new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(UserDeviceBindApp::getImei,imei);
lambdaQueryWrapper.eq(UserDeviceBindApp::getUserId,userId);
UserDeviceBindApp userDeviceBindApp = userDeviceBindAppMapper.selectOne(lambdaQueryWrapper);
if (null != userDeviceBindApp){
phone = userDeviceBindApp.getPhone();
}
userVo.setPhone(phone);
userVo.setImei(imei);
if (null == userVo.getName() || "".equals(userVo.getName())){
userVo.setName(SecurityContextHolder.getUserName());
}
return userVo;
User user = userMapper.selectById(userId);
UserVo vo = new UserVo();
vo.setImage(user.getImage());
vo.setName(SecurityContextHolder.getUserName());
vo.setPhone(user.getPhone());
return vo;
}
// @Override 20241227 废弃
// @Transactional(rollbackFor = Exception.class)
// public int updateData(UpdateUserDto user) {
// //1.修改用户设备绑定表的手机号
// UserDeviceBindApp userDeviceBindApp = new UserDeviceBindApp();
// userDeviceBindApp.setPhone(user.getPhone());
// LambdaQueryWrapper<UserDeviceBindApp> lambdaQueryWrapper = new LambdaQueryWrapper<>();
// lambdaQueryWrapper.eq(UserDeviceBindApp::getImei, user.getImei());
// lambdaQueryWrapper.eq(UserDeviceBindApp::getUserId, SecurityContextHolder.getStringUserId());
// userDeviceBindAppMapper.update(userDeviceBindApp, lambdaQueryWrapper);
// //2.修改通讯录的手机号
// AddressBookApp addressBookApp = new AddressBookApp();
// addressBookApp.setPhone(user.getPhone());
// LambdaQueryWrapper<AddressBookApp> lambdaQueryWrapper1 = new LambdaQueryWrapper<>();
// lambdaQueryWrapper1.eq(AddressBookApp::getImei, user.getImei());
// lambdaQueryWrapper1.eq(AddressBookApp::getUserId, SecurityContextHolder.getStringUserId());
// addressBookAppMapper.update(addressBookApp, lambdaQueryWrapper1);
// //3.修改用户表的信息
// User user1 = new User();
// user1.setUserId(SecurityContextHolder.getStringUserId());
// user1.setPhone(user.getPhone());
// user1.setName(user.getName());
// if (null != user.getImage()) {
// user1.setImage(user.getImage());
// }
// userMapper.updateById(user1);
// //若为管理员,中心号码下发
// UserDeviceBindApp deviceBindApp = userDeviceBindAppMapper.selectOne(lambdaQueryWrapper);
// if (null != deviceBindApp && "2".equals(deviceBindApp.getIdentity())) {
// BindingDeviceDto bindingDeviceDto = new BindingDeviceDto();
// bindingDeviceDto.setMy_phone(user.getPhone());
// bindingDeviceDto.setImei(user.getImei());
// bindingDevice.assembCenterPhone(bindingDeviceDto, deviceBindApp.getUserId());
// }
//
//
// return 1;
// }
@Override
@Transactional(rollbackFor = Exception.class)
public int updateData(UpdateUserDto user) {
//1.修改用户设备绑定表的手机号
UserDeviceBindApp userDeviceBindApp=new UserDeviceBindApp();
userDeviceBindApp.setPhone(user.getPhone());
LambdaQueryWrapper<UserDeviceBindApp> lambdaQueryWrapper=new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(UserDeviceBindApp::getImei,user.getImei());
lambdaQueryWrapper.eq(UserDeviceBindApp::getUserId,SecurityContextHolder.getStringUserId());
userDeviceBindAppMapper.update(userDeviceBindApp,lambdaQueryWrapper);
//2.修改通讯录的手机号
AddressBookApp addressBookApp=new AddressBookApp();
addressBookApp.setPhone(user.getPhone());
LambdaQueryWrapper<AddressBookApp> lambdaQueryWrapper1=new LambdaQueryWrapper<>();
lambdaQueryWrapper1.eq(AddressBookApp::getImei,user.getImei());
lambdaQueryWrapper1.eq(AddressBookApp::getUserId,SecurityContextHolder.getStringUserId());
addressBookAppMapper.update(addressBookApp,lambdaQueryWrapper1);
public User updateData(UpdateUserDto user) {
String userId = SecurityContextHolder.getStringUserId();
BindingDeviceImpl bindingDevice = SpringUtils.getBean(BindingDeviceImpl.class);
UserDeviceBindServiceImpl bean = SpringUtils.getBean(UserDeviceBindServiceImpl.class);
if (StringUtils.isNotEmpty(user.getPhone())) {
LambdaQueryWrapper<UserDeviceBindApp> Wrapper = new LambdaQueryWrapper<>();
Wrapper.eq(UserDeviceBindApp::getUserId, SecurityContextHolder.getStringUserId());
Integer i = bean.getBaseMapper().selectCount(Wrapper);
if (i > 0) {
// 查询用户是否使用其余绑定该设备用户的手机号码进行绑定设备
UserDeviceBindApp userDeviceBindApp = bindingDevice.queryByPhone(userId, user.getPhone());
if (StringUtils.isNotNull(userDeviceBindApp)) {
throw new ServiceException("messagesIsPhoneBound");
}
LambdaQueryWrapper<UserDeviceBindApp> QueryWrapper = new LambdaQueryWrapper<>();
QueryWrapper.eq(UserDeviceBindApp::getUserId, SecurityContextHolder.getStringUserId());
QueryWrapper.eq(UserDeviceBindApp::getBindStatus, CommonConstant.AUDIT_STATUS_ONE);
List<UserDeviceBindApp> userDeviceBindApps = userDeviceBindAppMapper.selectList(QueryWrapper);
if (StringUtils.isNotNull(userDeviceBindApps) && userDeviceBindApps.size() > 0) {
List<UserDeviceBindApp> list = userDeviceBindApps.stream().map(s -> s.setPhone(user.getPhone())).collect(Collectors.toList());
//修改绑定表的手机号
bean.updateBatchById(list);
//2.修改通讯录的手机号
AddressBookApp addressBookApp = new AddressBookApp();
addressBookApp.setPhone(user.getPhone());
LambdaQueryWrapper<AddressBookApp> lambdaQueryWrapper1 = new LambdaQueryWrapper<>();
lambdaQueryWrapper1.eq(AddressBookApp::getUserId, SecurityContextHolder.getStringUserId());
List<AddressBookApp> addressBookApps = addressBookAppMapper.selectList(lambdaQueryWrapper1);
if (StringUtils.isNotNull(addressBookApps) && addressBookApps.size() > 0) {
List<AddressBookApp> list1 = addressBookApps.stream().map(s -> s.setPhone(user.getPhone())).collect(Collectors.toList());
AddressBookAppServiceImpl bean1 = SpringUtils.getBean(AddressBookAppServiceImpl.class);
bean1.updateBatchById(list1);
}
//若为管理员,中心号码下发
if (StringUtils.isNotNull(userDeviceBindApps) && userDeviceBindApps.size() > 0) {
userDeviceBindApps.forEach(s -> {
if (null != s && "2".equals(s.getIdentity())) {
BindingDeviceDto bindingDeviceDto = new BindingDeviceDto();
bindingDeviceDto.setMy_phone(user.getPhone());
bindingDeviceDto.setImei(user.getImei());
bindingDevice.assembCenterPhone(bindingDeviceDto, s.getUserId());
}
});
}
}
}
}
//3.修改用户表的信息
User user1=new User();
User user1 = new User();
user1.setUserId(SecurityContextHolder.getStringUserId());
user1.setPhone(user.getPhone());
user1.setName(user.getName());
if (null!=user.getImage()){
if (StringUtils.isNotEmpty(user.getPhone())) {
user1.setPhone(user.getPhone());
}
if (StringUtils.isNotEmpty(user.getName())) {
user1.setName(user.getName());
}
if (null != user.getImage()) {
user1.setImage(user.getImage());
}
userMapper.updateById(user1);
//若为管理员,中心号码下发
UserDeviceBindApp deviceBindApp = userDeviceBindAppMapper.selectOne(lambdaQueryWrapper);
if (null!=deviceBindApp && "2".equals(deviceBindApp.getIdentity())){
BindingDeviceDto bindingDeviceDto=new BindingDeviceDto();
bindingDeviceDto.setMy_phone(user.getPhone());
bindingDeviceDto.setImei(user.getImei());
bindingDevice.assembCenterPhone(bindingDeviceDto,deviceBindApp.getUserId());
}
return 1;
return user1;
}
@Override
public void getSystemToken(String type, String token) {
String userId=SecurityContextHolder.getStringUserId();
if ("HUAWEI".equals(type)){
redisService.setCacheObject("HW:"+userId,token);
redisService.setCacheObject(CommonConstant.ANDROID_AGENT+userId,"HW");
}
else if ("HONOR".equals(type)){
redisService.setCacheObject("HW:"+userId,token);
redisService.setCacheObject(CommonConstant.ANDROID_AGENT+userId,"HW");
}
else if ("Xiaomi".equals(type)){
redisService.setCacheObject("XM:"+userId,token);
redisService.setCacheObject(CommonConstant.ANDROID_AGENT+userId,"XM");
}
else if ("VIVO".equals(type)){
redisService.setCacheObject("VI:"+userId,token);
redisService.setCacheObject(CommonConstant.ANDROID_AGENT+userId,"VI");
}
else if ("realme".equals(type)){
redisService.setCacheObject("OP:"+userId,token);
redisService.setCacheObject(CommonConstant.ANDROID_AGENT+userId,"OP");
}
else if ("OPPO".equals(type)){
redisService.setCacheObject("OP:"+userId,token);
redisService.setCacheObject(CommonConstant.ANDROID_AGENT+userId,"OP");
}
else {
redisService.setCacheObject("OT:"+userId,token);
redisService.setCacheObject(CommonConstant.ANDROID_AGENT+userId,"OT");
String userId = SecurityContextHolder.getStringUserId();
if ("HUAWEI".equals(type)) {
redisService.setCacheObject("HW:" + userId, token);
redisService.setCacheObject(CommonConstant.ANDROID_AGENT + userId, "HW");
} else if ("HONOR".equals(type)) {
redisService.setCacheObject("HW:" + userId, token);
redisService.setCacheObject(CommonConstant.ANDROID_AGENT + userId, "HW");
} else if ("Xiaomi".equals(type)) {
redisService.setCacheObject("XM:" + userId, token);
redisService.setCacheObject(CommonConstant.ANDROID_AGENT + userId, "XM");
} else if ("VIVO".equals(type)) {
redisService.setCacheObject("VI:" + userId, token);
redisService.setCacheObject(CommonConstant.ANDROID_AGENT + userId, "VI");
} else if ("realme".equals(type)) {
redisService.setCacheObject("OP:" + userId, token);
redisService.setCacheObject(CommonConstant.ANDROID_AGENT + userId, "OP");
} else if ("OPPO".equals(type)) {
redisService.setCacheObject("OP:" + userId, token);
redisService.setCacheObject(CommonConstant.ANDROID_AGENT + userId, "OP");
} else {
redisService.setCacheObject("OT:" + userId, token);
redisService.setCacheObject(CommonConstant.ANDROID_AGENT + userId, "OT");
}
}
/**
* App 刷新令牌有效期
*
* @param user 登录信息
*/
public void refreshToken(User user) {
@ -215,15 +334,16 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us @@ -215,15 +334,16 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
String userKey = getTokenKey(user.getToken());
redisService.setCacheObject(userKey, user, EXPIRATION, TimeUnit.DAYS);
//终端只允许一台设备登录
String redisUserKey = "user_keys:"+ user.getUserEmail();
redisService.setCacheObject(redisUserKey,user.getToken(),EXPIRATION,TimeUnit.DAYS);
String redisUserKey = "user_keys:" + user.getUserEmail();
redisService.setCacheObject(redisUserKey, user.getToken(), EXPIRATION, TimeUnit.DAYS);
}
private String getTokenKey(String token) {
return APP_TOKEN_KEY + token;
}
private UserDeviceBindApp insertData(User user){
UserDeviceBindApp userDeviceBindApp=new UserDeviceBindApp();
private UserDeviceBindApp insertData(User user) {
UserDeviceBindApp userDeviceBindApp = new UserDeviceBindApp();
userDeviceBindApp.setId(UUID.randomUUID().toString(true));
userDeviceBindApp.setUserId(user.getUserId());
userDeviceBindApp.setUserEmail(user.getUserEmail());

6
ecell-internationalize/ecell-internationalize-app/src/main/resources/i18n/messages_en_US.properties

@ -22,7 +22,8 @@ messages.binding.device.isNotNull=You have bound this device @@ -22,7 +22,8 @@ messages.binding.device.isNotNull=You have bound this device
messages.bad.request=Operation not allowed
messages.not.bind=Please bind the device
messages.device.empty=No device found
messages.clock.number=The number of class ban cannot exceed three
messages.clock.number=Add no more than three alarms
messages.class.number=The number of class ban cannot exceed three
messages.admin.operation=Administrator action only
messages.bind.user=Device not bound or account acquisition failed
messages.binding.video.type=The video type is not set for this device. Please contact the administrator to set the video type
@ -79,4 +80,5 @@ phone.has.exit=Mobile number has been used, please re-enterd @@ -79,4 +80,5 @@ phone.has.exit=Mobile number has been used, please re-enterd
messages.apply.device.model.error=Unable to find the device model, unable to follow
messages.whether.apply.error=The device application requires administrator review
messages.apply.bind.error=This device has already been bound, cannot be bound again
messages.ios.automaticApproval=User (%s) joins the group
messages.ios.automaticApproval=User (%s) joins the group
messages.query.device.error=The device is not connected to the internet or not online

6
ecell-internationalize/ecell-internationalize-app/src/main/resources/i18n/messages_zh_CN.properties

@ -23,7 +23,8 @@ messages.binding.device.isNotNull=\u60A8\u5DF2\u7ECF\u7ED1\u5B9A\u8FC7\u8BE5\u8B @@ -23,7 +23,8 @@ messages.binding.device.isNotNull=\u60A8\u5DF2\u7ECF\u7ED1\u5B9A\u8FC7\u8BE5\u8B
messages.bad.request=\u4E0D\u88AB\u5141\u8BB8\u7684\u64CD\u4F5C
messages.not.bind=\u8BF7\u7ED1\u5B9A\u8BBE\u5907
messages.device.empty=\u672A\u67E5\u8BE2\u5230\u8BBE\u5907
messages.clock.number=\u6DFB\u52A0\u4E0A\u8BFE\u7981\u7528\u65F6\u6BB5\u4E0D\u80FD\u8D85\u8FC7\u4E09\u4E2A
messages.clock.number=\u6DFB\u52A0\u95F9\u949F\u4E0D\u80FD\u8D85\u8FC7\u4E09\u4E2A
messages.class.number=\u6DFB\u52A0\u4E0A\u8BFE\u7981\u7528\u65F6\u6BB5\u4E0D\u80FD\u8D85\u8FC7\u4E09\u4E2A
messages.admin.operation=\u4EC5\u9650\u4E8E\u7BA1\u7406\u5458\u64CD\u4F5C
messages.bind.user=\u672A\u7ED1\u5B9A\u8BBE\u5907\u6216\u8005\u83B7\u53D6\u8D26\u53F7\u5931\u8D25
messages.binding.video.type=\u8BE5\u8BBE\u5907\u6CA1\u6709\u8BBE\u7F6E\u89C6\u9891\u7C7B\u578B\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u8BBE\u7F6E\u89C6\u9891\u7C7B\u578B\u5728\u7ED1\u5B9A
@ -80,4 +81,5 @@ messages.apply.device.model.error=\u6CA1\u6709\u627E\u5230\u8BE5\u8BBE\u5907\u6A @@ -80,4 +81,5 @@ messages.apply.device.model.error=\u6CA1\u6709\u627E\u5230\u8BE5\u8BBE\u5907\u6A
messages.whether.apply.error=\u8BE5\u8BBE\u5907\u7533\u8BF7\u9700\u8981\u7BA1\u7406\u5458\u5BA1\u6838
messages.apply.bind.error=\u5DF2\u7ECF\u7ED1\u5B9A\u8FC7\u8BE5\u8BBE\u5907,\u4E0D\u80FD\u91CD\u590D\u7ED1\u5B9A
messages.ios.automaticApproval=\u7528\u6237\uFF08%s\uFF09\u52A0\u5165\u7FA4\u7EC4
messages.password.error=\u65E7\u5BC6\u7801\u9519\u8BEF
messages.password.error=\u65E7\u5BC6\u7801\u9519\u8BEF
messages.query.device.error=\u8BBE\u5907\u672A\u8054\u7F51\u6216\u4E0D\u5728\u7EBF

6
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-common-system/src/main/java/com/ecell/internationalize/common/system/constant/FieldConstant.java

@ -235,6 +235,8 @@ public class FieldConstant { @@ -235,6 +235,8 @@ public class FieldConstant {
public static final String DEVICE_IS_NULL="messages.device.empty";
/** 闹钟数量*/
public static final String ALARM_CLOCK_NUMBER="messages.clock.number";
/** 上课禁用时段*/
public static final String DISABLE_CLASS_NUMBER="messages.class.number";
/** 管理员操作*/
public static final String ADMIN_OPERATION="messages.admin.operation";
/** 未找到绑定的用户*/
@ -249,4 +251,8 @@ public class FieldConstant { @@ -249,4 +251,8 @@ public class FieldConstant {
public static final String VERSION_APK_UPLOAD="messages.version.apk";
/** 新增、更新版本更新已存在最新记录*/
public static final String VERSION_HAS_EXIT="messages.has.exit";
/** 查找手表不在线*/
public static final String QUERY_DEVICE_ERROR="messages.query.device.error";
/** 定位模式绑定设备型号禁止修改 */
public static final String PROHIBIT_ERROR="messages.positioning.error";
}

2
ecell-internationalize/ecell-internationalize-common/ecell-internationalize-issue/src/main/java/com/ecell/internationalize/common/issue/component/IssueInstructions.java

@ -106,7 +106,7 @@ public class IssueInstructions { @@ -106,7 +106,7 @@ public class IssueInstructions {
}else {
list.add(chatMessage);
}
addRedis(imei,type,"messageText","messageTextSync",list,onlineStatus);
addRedis(imei,type,"messageText","messageTextSync",list,onlineStatus);
}else if ("downChatVoice".equals(type)) { //微聊语音下发
log.info("微聊语音下发 imei:{} object:{}", imei, object);
List<DownChatVoice> list = new ArrayList<>();

15
ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/controller/PositioningModelInfoController.java

@ -1,9 +1,13 @@ @@ -1,9 +1,13 @@
package com.ecell.internationalize.system.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ecell.internationalize.common.core.utils.SpringUtils;
import com.ecell.internationalize.common.core.utils.locale.LocaleUtil;
import com.ecell.internationalize.common.core.utils.uuid.UUID;
import com.ecell.internationalize.common.core.web.domain.AjaxResult;
import com.ecell.internationalize.common.system.constant.FieldConstant;
import com.ecell.internationalize.common.system.entity.PositioningModelInfo;
import com.ecell.internationalize.system.entity.DeviceModelInfo;
import com.ecell.internationalize.system.mapper.DeviceModelInfoMapper;
import com.ecell.internationalize.system.service.PositioningModelInfoService;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
@ -25,6 +29,8 @@ import org.springframework.web.bind.annotation.*; @@ -25,6 +29,8 @@ import org.springframework.web.bind.annotation.*;
public class PositioningModelInfoController {
@Autowired
private PositioningModelInfoService positioningModelInfoService;
/**
* 新增定位模式
*/
@ -43,6 +49,15 @@ public class PositioningModelInfoController { @@ -43,6 +49,15 @@ public class PositioningModelInfoController {
*/
@PostMapping("position/update")
public AjaxResult updatePositionModel(@Validated @RequestBody PositioningModelInfo info){
//设备定位模式绑定了型号就不能修改
DeviceModelInfoMapper modelInfoMapper = SpringUtils.getBean(DeviceModelInfoMapper.class);
LambdaQueryWrapper<DeviceModelInfo> queryWrapper =new LambdaQueryWrapper<>();
queryWrapper.eq(DeviceModelInfo::getPositioningModeId,info.getPositioningModeId());
queryWrapper.eq(DeviceModelInfo::getDelFlag,1);
if ( modelInfoMapper.selectCount(queryWrapper)>0){
return AjaxResult.error(LocaleUtil.getMessage(FieldConstant.PROHIBIT_ERROR));
}
return positioningModelInfoService.updateById(info) ? AjaxResult.success(LocaleUtil.getMessage(FieldConstant.MESSAGES_SUCCESS)) :AjaxResult.error(LocaleUtil.getMessage(FieldConstant.MESSAGES_ERROR));
}

2
ecell-internationalize/ecell-internationalize-system/src/main/resources/i18n/messages_en_US.properties

@ -87,3 +87,5 @@ messages.incorrect.content.error=Incorrect IMEI content @@ -87,3 +87,5 @@ messages.incorrect.content.error=Incorrect IMEI content
locationInfo.messages.error=locationInfo.messages.error
localLimit.messages.error=localLimit.messages.error
messages.positioning.error=The positioning mode has been bound to the device model and cannot be modified

4
ecell-internationalize/ecell-internationalize-system/src/main/resources/i18n/messages_zh_CN.properties

@ -84,6 +84,6 @@ messages.import.congratulations.success=\u606D\u559C\u60A8\uFF0C\u6570\u636E\u5D @@ -84,6 +84,6 @@ messages.import.congratulations.success=\u606D\u559C\u60A8\uFF0C\u6570\u636E\u5D
messages.data.are=\u6761\uFF0C\u6570\u636E\u5982\u4E0B\uFF1A
messages.limit.max.error=\u5F53\u524D\u63A5\u53E3\u8FBE\u5230\u6700\u5927\u9650\u6D41\u6B21\u6570
messages.incorrect.content.error=imei\u5185\u5BB9\u6709\u8BEF
locationInfo.messages.error=\u83B7\u53D6\u4F4D\u7F6E\u4FE1\u606F\u5931\u8D25
localLimit.messages.error=\u83B7\u53D6\u5B9A\u4F4D\u6B21\u6570\u5931\u8D25
localLimit.messages.error=\u83B7\u53D6\u5B9A\u4F4D\u6B21\u6570\u5931\u8D25
messages.positioning.error=messages.Positioning.error=\u5B9A\u4F4D\u6A21\u5F0F\u5DF2\u7ED1\u5B9A\u8BBE\u5907\u578B\u53F7\u7981\u6B62\u4FEE\u6539
Loading…
Cancel
Save