diff --git a/src/main/java/com/ifish/controller/Login.java b/src/main/java/com/ifish/controller/Login.java index 181dc5a..07ce00d 100644 --- a/src/main/java/com/ifish/controller/Login.java +++ b/src/main/java/com/ifish/controller/Login.java @@ -146,4 +146,9 @@ public class Login { public Object forgetPasswordByMobile(String phoneNumber, String password) { return userHelperI.forgetPassword(phoneNumber, password); } + + @RequestMapping(value = "/IsRegisterJPush", method = RequestMethod.POST) + public Object IsRegisterJPush(String userId) { + return userHelperI.IsRegisterJPush(userId); + } } diff --git a/src/main/java/com/ifish/helper/DeviceHelper.java b/src/main/java/com/ifish/helper/DeviceHelper.java index bc61574..d4de920 100644 --- a/src/main/java/com/ifish/helper/DeviceHelper.java +++ b/src/main/java/com/ifish/helper/DeviceHelper.java @@ -30,16 +30,16 @@ import org.springframework.stereotype.Component; */ @Component public class DeviceHelper implements DeviceHelperI { - + @Autowired private RedisHelperI redisHelperI; - + @Autowired private RedisKeyHelperI redisKeyHelperI; - + @Autowired private Tbl_Device_Mapper tbl_Device_Mapper; - + @Autowired private UserHelperI userHelperI; @@ -206,7 +206,7 @@ public class DeviceHelper implements DeviceHelperI { */ @Override public Object bindDevice(Integer userId, String mackAddress) { - + try { Tbl_User tmpUser = userHelperI.getUserById(userId); //用户存在 @@ -228,7 +228,7 @@ public class DeviceHelper implements DeviceHelperI { if (tmpDdeviceUser != null) { //原先不是主控制,则删除其他用户关联关系 if (!tmpDdeviceUser.getIsMaster().equals("1")) { - + for (Tbl_Device_User du : deviceUserList) { Integer userid = du.getUserId(); Integer deviceId = du.getDeviceId(); @@ -310,9 +310,11 @@ public class DeviceHelper implements DeviceHelperI { tbl_Device_Mapper.insertDeviceStatistics(ds); } else { //修改设备统计信息 - ds.setFirstActivate(new Date()); - tbl_Device_Mapper.updateDeviceStatistics(ds); - redisKeyHelperI.deleteRedisByTbl_Device_Statistics(ds); + if (ds.getFirstActivate() == null) { + ds.setFirstActivate(new Date()); + tbl_Device_Mapper.updateDeviceStatistics(ds); + redisKeyHelperI.deleteRedisByTbl_Device_Statistics(ds); + } } } } //设备不存在 @@ -438,7 +440,7 @@ public class DeviceHelper implements DeviceHelperI { camera.setActiveTime(date); camera.setUpdateTime(date); int i = tbl_Device_Mapper.updateTbl_Device(camera); - + activa_Code.setIsUsed("1"); tbl_Device_Mapper.updateTblActivaCodeIsUse(activeCode); return IfishUtil.returnJson(ResultEnum.success.getKey(), ""); @@ -464,10 +466,10 @@ public class DeviceHelper implements DeviceHelperI { */ @Override public Object updateDeviceUser(Tbl_Device_User device) { - + try { Tbl_Device_User olDevice_User = getDeviceUserByUserId_DeviceId(device.getUserId(), device.getDeviceId()); - + if (device != null) { if (olDevice_User != null) { device.setId(olDevice_User.getId()); @@ -500,7 +502,7 @@ public class DeviceHelper implements DeviceHelperI { Tbl_Device_User olDevice_User = getDeviceUserByUserId_CameraId(device_User.getUserId(), cameraId.toString()); if (olDevice_User != null) { if (olDevice_User != null) { - + device_User.setId(olDevice_User.getId()); int i = tbl_Device_Mapper.updateTblDeviceUser(device_User); if (i > 0) { @@ -571,10 +573,10 @@ public class DeviceHelper implements DeviceHelperI { } return IfishUtil.returnJson(ResultEnum.fail101.getKey(), ""); } - + @Autowired private JiGuangPush jiGuangPush; - + @Autowired private PushMessageHelperI pushMessageHelperI; diff --git a/src/main/java/com/ifish/helper/HardWareTypeHelper.java b/src/main/java/com/ifish/helper/HardWareTypeHelper.java index 7216357..e40e214 100644 --- a/src/main/java/com/ifish/helper/HardWareTypeHelper.java +++ b/src/main/java/com/ifish/helper/HardWareTypeHelper.java @@ -35,6 +35,12 @@ public class HardWareTypeHelper implements HardWareTypeHelperI { @Autowired private RedisKeyHelperI redisKeyHelperI; + /** + * 根据设备型号获取设备类型参数 + * + * @param code + * @return + */ @Override public Tbl_HardWare_Type getHardwareTypeByTypeCode(String code) throws Exception { Tbl_HardWare_Type hardwareType = null; @@ -51,6 +57,13 @@ public class HardWareTypeHelper implements HardWareTypeHelperI { return hardwareType; } + /** + * 根据厂家code获取厂家信息 + * + * @param code + * @return + * @throws Exception + */ @Override public Tbl_Vender getVenderListByBrandCode(String code) throws Exception { Tbl_Vender venderList = new Tbl_Vender(); @@ -64,4 +77,25 @@ public class HardWareTypeHelper implements HardWareTypeHelperI { } return venderList; } + + /** + * 根据设备型号获取厂家信息 + * + * @param code + * @return + * @throws Exception + */ + @Override + public Tbl_Vender getVenderListByHardwareTypeCode(String code) throws Exception { + Tbl_Vender venderList = new Tbl_Vender(); + String key = redisKeyHelperI.getTbl_Vender_ListRedisKeyByCode(code); + String redisString = redisHelperI.getRedis(key); + if (StringUtils.isNotBlank(redisString)) { + venderList = (Tbl_Vender) IfishUtil.JsonToBean(redisString, Tbl_Vender.class); + } else { + venderList = tbl_Hardware_Type_Mapper.getVenderListByHardwareTypeCode(code); + redisHelperI.setRedis(key, IfishUtil.ObjectToJson(venderList)); + } + return venderList; + } } diff --git a/src/main/java/com/ifish/helper/HardWareTypeHelperI.java b/src/main/java/com/ifish/helper/HardWareTypeHelperI.java index 284a9d5..ad584de 100644 --- a/src/main/java/com/ifish/helper/HardWareTypeHelperI.java +++ b/src/main/java/com/ifish/helper/HardWareTypeHelperI.java @@ -31,4 +31,13 @@ public interface HardWareTypeHelperI { */ Tbl_Vender getVenderListByBrandCode(String code) throws Exception; + /** + * 根据设备型号获取厂家信息 + * + * @param code + * @return + * @throws Exception + */ + public Tbl_Vender getVenderListByHardwareTypeCode(String code) throws Exception; + } diff --git a/src/main/java/com/ifish/helper/RedisKeyHelper.java b/src/main/java/com/ifish/helper/RedisKeyHelper.java index f5a99f2..a452e88 100644 --- a/src/main/java/com/ifish/helper/RedisKeyHelper.java +++ b/src/main/java/com/ifish/helper/RedisKeyHelper.java @@ -70,6 +70,77 @@ public class RedisKeyHelper implements RedisKeyHelperI { return RedisKey.USER_ID_KEY + userId; } + /** + * 根据条件获取用户列表缓存key + * + * @param start + * @param length + * @param userId + * @param phoneNumber + * @param userEmail + * @param phoneType + * @param isRegisterGwell + * @param isRegisterJiguang + * @param sortField + * @param sortMode + * @param nickName + * @param remarks + * @param loginTime1 + * @param loginTime2 + * @param createTime1 + * @param createTime2 + * @return + */ + @Override + public String getUserListRedisKey(Integer start, Integer length, String userId, String phoneNumber, String userEmail, String phoneType, String isRegisterGwell, String isRegisterJiguang, String sortField, String sortMode, String nickName, String remarks, String loginTime1, String loginTime2, String createTime1, String createTime2) { + return RedisKey.USER_LIST + userId + "_" + phoneNumber + "_" + userEmail + "_" + phoneType + "_" + isRegisterGwell + "_" + isRegisterJiguang + "_" + sortField + "_" + sortMode + "_" + nickName + "_" + remarks + "_" + loginTime1 + "_" + loginTime2 + "_" + createTime1 + "_" + createTime2 + "_" + start + "_" + length; + } + + /** + * 根据条件搜索获取用户列表缓存key + * + * @param userId + * @param phoneNumber + * @param userEmail + * @param phoneType + * @param isRegisterGwell + * @param isRegisterJiguang + * @param sortField + * @param sortMode + * @param nickName + * @param remarks + * @param loginTime1 + * @param loginTime2 + * @param createTime1 + * @param createTime2 + * @return + */ + @Override + public String getUserListCountRedisKey(String userId, String phoneNumber, String userEmail, String phoneType, String isRegisterGwell, String isRegisterJiguang, String sortField, String sortMode, String nickName, String remarks, String loginTime1, String loginTime2, String createTime1, String createTime2) { + return RedisKey.USER_LIST_COUNT + userId + "_" + phoneNumber + "_" + userEmail + "_" + phoneType + "_" + isRegisterGwell + "_" + isRegisterJiguang + "_" + sortField + "_" + sortMode + "_" + nickName + "_" + remarks + "_" + loginTime1 + "_" + loginTime2 + "_" + createTime1 + "_" + createTime2; + } + + /** + * 获取用户列表总数 + * + * @return + */ + @Override + public String getAllUserListCountRedisKey() { + return RedisKey.USER_LIST_COUNT_ALL; + } + + /** + * 根据userName获取Tbl_Security_User管理用户的redis缓存key键值 + * + * @param userName + * @return + */ + @Override + public String getTbl_Security_UserRedisKeyByUserName(String userName) { + return RedisKey.SECURITY_USER + userName; + } + /** * 根据mac地址获取Tbl_Device的redis缓存key键值 * @@ -363,6 +434,9 @@ public class RedisKeyHelper implements RedisKeyHelperI { if (StringUtils.isNotBlank(tbl_User.getToken())) { redisHelperI.deleteRedis(getTbl_UserRedisKeyByToken(tbl_User.getToken())); } + redisHelperI.delRedisByTagKey(RedisKey.USER_LIST); + redisHelperI.delRedisByTagKey(RedisKey.USER_LIST_COUNT); + redisHelperI.delRedisByTagKey(RedisKey.USER_LIST_COUNT_ALL); } /** diff --git a/src/main/java/com/ifish/helper/RedisKeyHelperI.java b/src/main/java/com/ifish/helper/RedisKeyHelperI.java index 9c8bff4..99fe55d 100644 --- a/src/main/java/com/ifish/helper/RedisKeyHelperI.java +++ b/src/main/java/com/ifish/helper/RedisKeyHelperI.java @@ -50,6 +50,65 @@ public interface RedisKeyHelperI { */ public String getTbl_UserRedisKeyByEmail(String email); + /** + * 根据条件获取用户列表缓存key + * + * @param start + * @param length + * @param userId + * @param phoneNumber + * @param userEmail + * @param phoneType + * @param isRegisterGwell + * @param isRegisterJiguang + * @param sortField + * @param sortMode + * @param nickName + * @param remarks + * @param loginTime1 + * @param loginTime2 + * @param createTime1 + * @param createTime2 + * @return + */ + public String getUserListRedisKey(Integer start, Integer length, String userId, String phoneNumber, String userEmail, String phoneType, String isRegisterGwell, String isRegisterJiguang, String sortField, String sortMode, String nickName, String remarks, String loginTime1, String loginTime2, String createTime1, String createTime2); + + /** + * 根据条件搜索获取用户列表缓存key + * + * @param userId + * @param phoneNumber + * @param userEmail + * @param phoneType + * @param isRegisterGwell + * @param isRegisterJiguang + * @param sortField + * @param sortMode + * @param nickName + * @param remarks + * @param loginTime1 + * @param loginTime2 + * @param createTime1 + * @param createTime2 + * @return + */ + public String getUserListCountRedisKey(String userId, String phoneNumber, String userEmail, String phoneType, String isRegisterGwell, String isRegisterJiguang, String sortField, String sortMode, String nickName, String remarks, String loginTime1, String loginTime2, String createTime1, String createTime2); + + /** + * 获取用户列表总数 + * + * @return + */ + public String getAllUserListCountRedisKey(); + + /** + * 根据userName获取Tbl_Security_User管理用户的redis缓存key键值 + * + * @param userName + * @return + */ + public String getTbl_Security_UserRedisKeyByUserName(String userName); + /** * 根据mac地址获取Tbl_Device的redis缓存key键值 * diff --git a/src/main/java/com/ifish/helper/UserHelper.java b/src/main/java/com/ifish/helper/UserHelper.java index 471c926..e3820e7 100644 --- a/src/main/java/com/ifish/helper/UserHelper.java +++ b/src/main/java/com/ifish/helper/UserHelper.java @@ -47,19 +47,19 @@ public class UserHelper implements UserHelperI { */ @Autowired private Tbl_User_Mapper tbl_User_Mapper; - + @Autowired private DeviceHelperI deviceHelperI; - + @Autowired private HardWareTypeHelperI hardWareTypeHelperI; - + @Autowired private RedisKeyHelperI redisKeyHelperI; - + @Autowired private SendMobile sendMobile; - + @Autowired private FastDFSClientI fastDFSClientI; @@ -147,7 +147,7 @@ public class UserHelper implements UserHelperI { dataMap.put("userSex", user.getUserSex()); dataMap.put("userImg", user.getUserImg()); dataMap.put("nickName", user.getNickName()); - + return IfishUtil.returnJson(ResultEnum.success.getKey(), dataMap); } @@ -250,11 +250,11 @@ public class UserHelper implements UserHelperI { if (user == null) { return "修改失败,请联系管理员!"; } - + user.setUserPassword(map.get("password").toString()); Date date = new Date(); user.setUpdateTime(date); - + int i = tbl_User_Mapper.updateUser(user); if (i > 0) { redisKeyHelperI.deleteRedisByTbl_User(user); @@ -361,7 +361,7 @@ public class UserHelper implements UserHelperI { curUser.setUserSex(userSex); bln = true; } - + String registerId = user.getJiguangUserid(); if (StringUtils.isNotBlank(registerId)) { curUser.setJiguangUserid(registerId); @@ -410,7 +410,7 @@ public class UserHelper implements UserHelperI { return IfishUtil.returnJson(ResultEnum.fail101.getKey(), ""); } } - + Tbl_User user = getUserById(userId); user.setUserImg(img); int i = tbl_User_Mapper.updateUser(user); @@ -461,7 +461,7 @@ public class UserHelper implements UserHelperI { Map userMap = getUserMap(user); return IfishUtil.returnJson(ResultEnum.success.getKey(), userMap); } - + } catch (Exception e) { } return IfishUtil.toJson(ResultEnum.fail101.getKey(), ""); @@ -492,7 +492,7 @@ public class UserHelper implements UserHelperI { redisKeyHelperI.deleteRedisByTbl_User(user); return IfishUtil.returnJson(ResultEnum.success.getKey(), ""); } - + } catch (Exception e) { } return IfishUtil.toJson(ResultEnum.fail101.getKey(), ""); @@ -529,6 +529,23 @@ public class UserHelper implements UserHelperI { } } + /** + * 极光是否注册别名成功 + * + * @param userId + * @return + */ + @Override + public Object IsRegisterJPush(String userId) { + if (StringUtils.isNotBlank(userId)) { + int i = tbl_User_Mapper.IsRegisterJPush(userId); + if (i > 0) { + return IfishUtil.toJson(ResultEnum.success.getKey(), ""); + } + } + return IfishUtil.toJson(ResultEnum.fail101.getKey(), ""); + } + /** * 根据手机号从缓存或数据库中取得用户对象 * @@ -710,7 +727,7 @@ public class UserHelper implements UserHelperI { dataMap.put("device", deviceMap.get("list")); dataMap.put("camera", deviceMap.get("list2")); return IfishUtil.returnJson(ResultEnum.success.getKey(), dataMap); - + } /** @@ -810,7 +827,7 @@ public class UserHelper implements UserHelperI { if (tmpUser.getUpdateTime() != null) { userMap.put("updateTime", IfishUtil.format(tmpUser.getUpdateTime())); } - + return userMap; } @@ -839,9 +856,9 @@ public class UserHelper implements UserHelperI { //封装设备返回信息 list.add(getDeviceInfo(device, deviceUser)); } - + } - + Map map = new HashMap(); map.put("list", list); map.put("list2", list2); @@ -957,5 +974,5 @@ public class UserHelper implements UserHelperI { return IfishUtil.returnJson(ResultEnum.fail101.getKey(), ""); } } - + } diff --git a/src/main/java/com/ifish/helper/UserHelperI.java b/src/main/java/com/ifish/helper/UserHelperI.java index c78badc..622b146 100644 --- a/src/main/java/com/ifish/helper/UserHelperI.java +++ b/src/main/java/com/ifish/helper/UserHelperI.java @@ -127,4 +127,12 @@ public interface UserHelperI { * @return */ public Object forgetPasswordByEmail(String email, String password); + + /** + * 极光是否注册别名成功 + * + * @param userId + * @return + */ + public Object IsRegisterJPush(String userId); } diff --git a/src/main/java/com/ifish/mapper/Tbl_Hardware_Type_Mapper.java b/src/main/java/com/ifish/mapper/Tbl_Hardware_Type_Mapper.java index 47f7bd2..5ac7548 100644 --- a/src/main/java/com/ifish/mapper/Tbl_Hardware_Type_Mapper.java +++ b/src/main/java/com/ifish/mapper/Tbl_Hardware_Type_Mapper.java @@ -35,4 +35,14 @@ public interface Tbl_Hardware_Type_Mapper { */ @Select("select brand_code,brand_name,brand_introduce,brand_logo from tbl_vender_list where brand_code=#{code}") Tbl_Vender getVenderListByBrandCode(@Param("code") String code); + + /** + * 根据设备型号获取厂家信息 + * + * @param code + * @return + * @throws Exception + */ + @Select("select a.brand_code,brand_name,brand_introduce,brand_logo from tbl_vender_list a LEFT JOIN tbl_vender_hardware b ON a.brand_code = b.brand_code where b.hardware_type=#{code}") + Tbl_Vender getVenderListByHardwareTypeCode(@Param("code") String code); } diff --git a/src/main/java/com/ifish/mapper/Tbl_User_Mapper.java b/src/main/java/com/ifish/mapper/Tbl_User_Mapper.java index 74ea381..fcf14f6 100644 --- a/src/main/java/com/ifish/mapper/Tbl_User_Mapper.java +++ b/src/main/java/com/ifish/mapper/Tbl_User_Mapper.java @@ -100,4 +100,13 @@ public interface Tbl_User_Mapper { + "#{user.token},#{user.longitude},#{user.latitude},#{user.loginType})") @SelectKey(statement = "select @@IDENTITY as user_id", keyProperty = "user.userId", keyColumn = "userId", before = false, resultType = int.class) Integer insertUserByPhoneNumberAndEmail(@Param("user") Tbl_User user); + + /** + * 修改极光别名注册成功 + * + * @param userId + * @return + */ + @Update("UPDATE tbl_user set jiguang_userid = '1' WHERE user_id = #{userid} ") + Integer IsRegisterJPush(@Param("userid") String userId); } diff --git a/src/main/java/com/ifish/util/RedisKey.java b/src/main/java/com/ifish/util/RedisKey.java index 28d103d..91a7269 100644 --- a/src/main/java/com/ifish/util/RedisKey.java +++ b/src/main/java/com/ifish/util/RedisKey.java @@ -15,7 +15,6 @@ public class RedisKey { * 用户缓存前缀,以id进行存储 */ public static final String USER_ID_KEY = "userE:id_"; - /** * 用户缓存前缀,以手机号进行存储 */ @@ -24,11 +23,26 @@ public class RedisKey { * 用户缓存前缀,以邮箱进行存储 */ public static final String USER_EMAIL = "userE:ema_"; - + /** + * 用户列表缓存前缀 + */ + public static final String USER_LIST = "userlistE:"; + /** + * 用户列表总数缓存前缀(带条件) + */ + public static final String USER_LIST_COUNT = "userlistcountE:"; + /** + * 所有用户列表缓存前缀(不需条件) + */ + public static final String USER_LIST_COUNT_ALL = "alluserlistcountE"; /** * 用户缓存前缀,以token进行存储 */ public static final String USER_TOKEN = "userE:to_"; + /** + * 管理用户缓存前缀 + */ + public static final String SECURITY_USER = "seuserE:un_"; /** * 设备用户关系缓存前缀,以设备ID和用户ID进行存储