新增接口 绑定手机号码 微信登录

This commit is contained in:
易焱 2019-12-15 22:29:02 +08:00
parent 1a26816770
commit 6259645d6c
3 changed files with 87 additions and 34 deletions

View File

@ -114,7 +114,7 @@ public class UsersAction {
* @param phoneNum * @param phoneNum
* @return * @return
*/ */
@RequestMapping(value="/bindPhone",method=RequestMethod.POST) @RequestMapping(value="/bindPhone",method=RequestMethod.GET)
public JsonResult<?> bindPhone(String unionId, String phoneNum) { public JsonResult<?> bindPhone(String unionId, String phoneNum) {
return userService.bindPhone(unionId, phoneNum); return userService.bindPhone(unionId, phoneNum);
} }

View File

@ -9,6 +9,7 @@ import com.ifish.entity.CameraUser;
import java.util.List; import java.util.List;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
/** /**
* *
@ -25,4 +26,10 @@ public interface Tbl_Camera_User_Mapper {
@Select("select user_id,camera_id,is_master,show_name,is_look,is_live,create_time,update_time from tbl_camera_user where user_id=#{userid}") @Select("select user_id,camera_id,is_master,show_name,is_look,is_live,create_time,update_time from tbl_camera_user where user_id=#{userid}")
List<CameraUser> getCameraUserListByUserId(@Param("userid") Integer userid); List<CameraUser> getCameraUserListByUserId(@Param("userid") Integer userid);
@Update("update tbl_camera_user set user_id = #{userId} where camera_id = #{cameraId}")
void updateCameraUserId(@Param("userId") Integer userId, @Param("cameraId") Integer cameraId);
@Update("update tbl_device_user set user_id = #{userId} where device_id = #{deviceId} and user_id = #{userId1}")
void updateDeviceUserId(@Param("userId") Integer userId, @Param("userId1") Integer userId1, @Param("deviceId") Integer deviceId);
} }

View File

@ -2,17 +2,17 @@ package com.ifish.serviceImpl;
import java.io.File; import java.io.File;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.sql.Connection;
import java.util.Calendar; import java.sql.DriverManager;
import java.util.Date; import java.sql.PreparedStatement;
import java.util.HashMap; import java.sql.SQLException;
import java.util.List; import java.util.*;
import java.util.Map;
import java.util.Random;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.ifish.entity.*;
import com.ifish.entity.event.QueueEventBody; import com.ifish.entity.event.QueueEventBody;
import com.ifish.entity.event.QueueEventEntity; import com.ifish.entity.event.QueueEventEntity;
import com.ifish.mapper.Tbl_Camera_User_Mapper;
import com.ifish.util.StringUtil; import com.ifish.util.StringUtil;
import com.ifish.util.WeChatUtils; import com.ifish.util.WeChatUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@ -46,23 +46,6 @@ import com.ifish.dto.NeteaseParamDto;
import com.ifish.dto.UserAssetDto; import com.ifish.dto.UserAssetDto;
import com.ifish.dto.UserInfoDto; import com.ifish.dto.UserInfoDto;
import com.ifish.dto.VenderDto; import com.ifish.dto.VenderDto;
import com.ifish.entity.Camera;
import com.ifish.entity.CameraUser;
import com.ifish.entity.Device;
import com.ifish.entity.DeviceCamera;
import com.ifish.entity.DeviceCameraId;
import com.ifish.entity.DeviceUser;
import com.ifish.entity.DeviceUserId;
import com.ifish.entity.GoldControl;
import com.ifish.entity.GoldGetRecord;
import com.ifish.entity.GoldTask;
import com.ifish.entity.GradeTask;
import com.ifish.entity.HardwareType;
import com.ifish.entity.PushList;
import com.ifish.entity.ShopsInfo;
import com.ifish.entity.User;
import com.ifish.entity.UserAsset;
import com.ifish.entity.VenderList;
import com.ifish.enums.AddTypeEnum; import com.ifish.enums.AddTypeEnum;
import com.ifish.enums.BooleanEnum; import com.ifish.enums.BooleanEnum;
import com.ifish.enums.GoldGetTypeEnum; import com.ifish.enums.GoldGetTypeEnum;
@ -102,6 +85,9 @@ import javax.jms.Session;
@Transactional @Transactional
public class UserServiceImpl implements UserService { public class UserServiceImpl implements UserService {
@Autowired
private Tbl_Camera_User_Mapper tbl_Camera_User_Mapper;
@Autowired @Autowired
private UserDao userDao; private UserDao userDao;
@Autowired @Autowired
@ -507,7 +493,7 @@ public class UserServiceImpl implements UserService {
if (userWechat == null) { if (userWechat == null) {
throw new IfishException(ResultEnum.fail101); throw new IfishException(ResultEnum.fail101);
} }
User userPhone = userDao.findUniqueByProperty(Restrictions.eq("phoneNumber",unionId)); User userPhone = userDao.findUniqueByProperty(Restrictions.eq("phoneNumber",phone));
if (userPhone == null) { if (userPhone == null) {
throw new IfishException(ResultEnum.fail101); throw new IfishException(ResultEnum.fail101);
} }
@ -528,23 +514,47 @@ public class UserServiceImpl implements UserService {
} }
} else { } else {
// 微信账号下绑定的userid改为手机号的userid // 微信账号下绑定的userid改为手机号的userid
DeviceUserId priId = deviceUser.getPriId(); updateData("update tbl_device_user set user_id = " + userPhone.getUserId() + " where device_id = " + deviceUser.getPriId().getDeviceId() + " and user_id = " + userWechat.getUserId());
priId.setUserId(userPhone.getUserId()); // tbl_Camera_User_Mapper.updateDeviceUserId(userPhone.getUserId(), deviceUser.getPriId().getDeviceId(), userWechat.getUserId());
deviceUserDao.update(deviceUser);
} }
} }
//如果 手机号码账号下不存在设备 则修改微信账号下的设备关联为手机号的userid //如果 手机号码账号下不存在设备 则修改微信账号下的设备关联为手机号的userid
if (deviceUserListPhone.size() == 0) { if (deviceUserListPhone.size() == 0) {
DeviceUserId priId = deviceUser.getPriId(); updateData("update tbl_device_user set user_id = " + userPhone.getUserId() + " where device_id = " + deviceUser.getPriId().getDeviceId() + " and user_id = " + userWechat.getUserId());
priId.setUserId(userPhone.getUserId()); // tbl_Camera_User_Mapper.updateDeviceUserId(userPhone.getUserId(), deviceUser.getPriId().getDeviceId(), userWechat.getUserId());
deviceUserDao.update(deviceUser); }
}
List<CameraUser> cameraUserListWechat = cameraUserDao.findByProperty(Restrictions.eq("cameraUserId.userId", userWechat.getUserId()));
List<CameraUser> cameraUserListPhone = cameraUserDao.findByProperty(Restrictions.eq("cameraUserId.userId", userPhone.getUserId()));
for(CameraUser cameraUser:cameraUserListWechat){
for (CameraUser cameraPhone : cameraUserListPhone) {
//如果 手机账号中存在设备
if (cameraPhone.getCameraUserId().getCameraId().equals(cameraUser.getCameraUserId().getCameraId())) {
//当前账号是主控制账号
if (cameraPhone.getIsMaster().equals("1")) {
//删除 微信账号下的设备
cameraUserDao.delete(cameraPhone);
} else {
//修改 手机号账号下的设备为主控设备
cameraPhone.setIsMaster("1");
cameraUserDao.update(cameraPhone);
}
} else {
// 微信账号下绑定的userid改为手机号的userid
updateData("update tbl_camera_user set user_id = " + userPhone.getUserId() + " where camera_id = " + cameraUser.getCameraUserId().getCameraId());
// tbl_Camera_User_Mapper.updateCameraUserId(userPhone.getUserId(), Integer.valueOf(cameraUser.getCameraUserId().getCameraId()));
}
}
//如果 手机号码账号下不存在设备 则修改微信账号下的设备关联为手机号的userid
if (cameraUserListPhone.size() == 0) {
updateData("update tbl_camera_user set user_id = " + userPhone.getUserId() + " where camera_id = " + cameraUser.getCameraUserId().getCameraId());
// tbl_Camera_User_Mapper.updateCameraUserId(userPhone.getUserId(), Integer.valueOf(cameraUser.getCameraUserId().getCameraId()));
} }
} }
//修改手机账号的微信unionid //修改手机账号的微信unionid
userPhone.setWechatUnionid(userWechat.getWechatUnionid()); userPhone.setWechatUnionid(userWechat.getWechatUnionid());
userDao.update(userPhone); userDao.update(userPhone);
userDao.delete(userWechat);
//用户资产信息 //用户资产信息
UserAssetDto userAssetDtoWechat = getUserAssetInfo(userWechat.getUserId()); UserAssetDto userAssetDtoWechat = getUserAssetInfo(userWechat.getUserId());
UserAssetDto userAssetDtoPhone = getUserAssetInfo(userPhone.getUserId()); UserAssetDto userAssetDtoPhone = getUserAssetInfo(userPhone.getUserId());
@ -575,6 +585,42 @@ public class UserServiceImpl implements UserService {
return wechatValidate(unionId); return wechatValidate(unionId);
} }
public void updateData(String sql){
ResourceBundle bundle = ResourceBundle.getBundle("jdbc");
String driver = bundle.getString("jdbc.driver");
String url = bundle.getString("jdbc.url");
String username = bundle.getString("jdbc.username");
String password = bundle.getString("jdbc.password");
Connection connection = null;
PreparedStatement preparedStatement = null;
try {
Class.forName(driver);
connection = DriverManager.getConnection(url, username, password);
preparedStatement = connection.prepareStatement(sql);
preparedStatement.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (preparedStatement != null) {
try {
preparedStatement.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (connection != null) {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
/** /**
* 更多用户数据信息 * 更多用户数据信息
*/ */